Mock Version: 1.3.4 Mock Version: 1.3.4 ENTER ['do'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target noarch --nodeps /builddir/build/SPECS/openstack-ironic.spec'], nspawn_args=[]shell=Falseuid=993env={'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/cloud7-openstack-stein-el7-build-85994-554814/root'gid=135user='mockbuild'timeout=86400logger=printOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target noarch --nodeps /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-12.1.6-1.el7.src.rpm Child return code was: 0 ENTER ['do'](['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target noarch --nodeps /builddir/build/SPECS/openstack-ironic.spec'], nspawn_args=[]shell=Falseuid=993env={'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/cloud7-openstack-stein-el7-build-85994-554814/root'gid=135user='mockbuild'timeout=86400logger=printOutput=False) Executing command: ['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target noarch --nodeps /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.DkRvyH + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-12.1.6 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-12.1.6.tar.gz + /usr/bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-12.1.6 + /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.1RwEVD + umask 022 + cd /builddir/build/BUILD + cd ironic-12.1.6 + CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' + /usr/bin/python2 setup.py build '--executable=/usr/bin/python2 -s' running build running build_py creating build creating build/lib creating build/lib/ironic creating build/lib/ironic/tests creating build/lib/ironic/tests/unit creating build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_common.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/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/__init__.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_agent.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_boot_mode_utils.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_noop_mgmt.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_inspect_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_image_cache.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_ipmitool.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_iscsi_deploy.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/conductor copying ironic/conductor/steps.py -> build/lib/ironic/conductor copying ironic/conductor/manager.py -> build/lib/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor copying ironic/conductor/allocations.py -> build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/utils.py -> build/lib/ironic/conductor creating build/lib/ironic/common creating build/lib/ironic/common/glance_service creating build/lib/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/__init__.py -> build/lib/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/image_service.py -> build/lib/ironic/common/glance_service/v2 creating build/lib/ironic/drivers creating build/lib/ironic/drivers/modules creating build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/mappings.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/__init__.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/management.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/power.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/utils.py -> build/lib/ironic/drivers/modules/ibmc 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_volume_target.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_deploy_template.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 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_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_types.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_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_driver.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_event.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_expose.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.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_volume.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_conductor.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_root.py -> build/lib/ironic/tests/unit/api/controllers/v1 creating build/lib/ironic/tests/unit/db creating build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.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/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/__init__.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_chassis.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_nodes.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_portgroups.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.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_deploy_templates.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_node_traits.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_volume_targets.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_api.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_bios_settings.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db creating build/lib/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_helper.py -> build/lib/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ucs creating build/lib/ironic/hacking copying ironic/hacking/__init__.py -> build/lib/ironic/hacking copying ironic/hacking/checks.py -> build/lib/ironic/hacking copying ironic/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic creating build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible creating 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/__init__.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.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_raid.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_utils.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_cinder.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_images.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_exception.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_pxe_utils.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_release_mappings.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_driver_factory.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_service.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/drivers/ibmc.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/cisco_ucs.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers creating build/lib/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/cimc creating build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/__init__.py -> build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/management.py -> build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/power.py -> build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/helper.py -> build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/iscsi_deploy.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_base_vendor.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/deploy_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/boot_mode_utils.py -> build/lib/ironic/drivers/modules 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/snmp.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspect_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop_mgmt.py -> build/lib/ironic/drivers/modules creating build/lib/ironic/objects copying ironic/objects/chassis.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_connector.py -> build/lib/ironic/objects copying ironic/objects/node.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/objects/trait.py -> build/lib/ironic/objects copying ironic/objects/portgroup.py -> build/lib/ironic/objects copying ironic/objects/port.py -> build/lib/ironic/objects copying ironic/objects/volume_target.py -> build/lib/ironic/objects copying ironic/objects/deploy_template.py -> build/lib/ironic/objects copying ironic/objects/fields.py -> build/lib/ironic/objects copying ironic/objects/notification.py -> build/lib/ironic/objects copying ironic/objects/base.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/common/fsm.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/faults.py -> build/lib/ironic/common copying ironic/common/keystone.py -> build/lib/ironic/common copying ironic/common/network.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/release_mappings.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/raid.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common copying ironic/common/profiler.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/pxe_utils.py -> build/lib/ironic/common copying ironic/common/wsgi_service.py -> build/lib/ironic/common copying ironic/common/boot_modes.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/neutron.py -> build/lib/ironic/common creating build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.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/mgr_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_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_steps.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_allocations.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor creating build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/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/power.py -> build/lib/ironic/drivers/modules/xclarity creating build/lib/ironic/api copying ironic/api/app.py -> build/lib/ironic/api copying ironic/api/__init__.py -> build/lib/ironic/api copying ironic/api/hooks.py -> build/lib/ironic/api copying ironic/api/expose.py -> build/lib/ironic/api copying ironic/api/wsgi.py -> build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api creating build/lib/ironic/api/middleware copying ironic/api/middleware/auth_token.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/__init__.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/management.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/common.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/power.py -> build/lib/ironic/drivers/modules/cimc copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/base_image_service.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/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 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/inspect.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/power.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/boot.py -> build/lib/ironic/drivers/modules/irmc creating build/lib/ironic/api/controllers creating build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/chassis.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/__init__.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_connector.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.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/event.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/versions.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/notification_utils.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/volume_target.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/deploy_template.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/driver.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume.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/state.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/utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/conductor.py -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_management.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_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo 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_power.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_common.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_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/ilo creating build/lib/ironic/db copying ironic/db/__init__.py -> build/lib/ironic/db copying ironic/db/migration.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db creating build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_status.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_conductor.py -> build/lib/ironic/tests/unit/cmd creating build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc 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/base.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf creating build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.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/external.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage creating build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_audit.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_hooks.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/base.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_acl.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_ospmiddleware.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/test_healthcheck.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_root.py -> build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional creating build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc 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_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.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 creating 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_port.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_deploy_template.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/__init__.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_chassis.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_fields.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_trait.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_node.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_notification.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_connector.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/utils.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_allocation.py -> build/lib/ironic/tests/unit/objects creating build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.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 creating build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/bios.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.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/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/inspect.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/power.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/boot.py -> build/lib/ironic/drivers/modules/ilo creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.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/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers creating build/lib/ironic/cmd copying ironic/cmd/__init__.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/conductor.py -> build/lib/ironic/cmd copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit creating build/lib/ironic/conf copying ironic/conf/ibmc.py -> build/lib/ironic/conf copying ironic/conf/metrics.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/redfish.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/deploy.py -> build/lib/ironic/conf copying ironic/conf/pxe.py -> build/lib/ironic/conf copying ironic/conf/healthcheck.py -> build/lib/ironic/conf copying ironic/conf/snmp.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/service_catalog.py -> build/lib/ironic/conf copying ironic/conf/metrics_statsd.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/audit.py -> build/lib/ironic/conf copying ironic/conf/ilo.py -> build/lib/ironic/conf copying ironic/conf/json_rpc.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/cisco.py -> build/lib/ironic/conf copying ironic/conf/ipmi.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/xclarity.py -> build/lib/ironic/conf copying ironic/conf/irmc.py -> build/lib/ironic/conf copying ironic/conf/glance.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/neutron.py -> build/lib/ironic/conf copying ironic/conf/iscsi.py -> build/lib/ironic/conf copying ironic/conf/drac.py -> build/lib/ironic/conf creating build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/drivers/test_ilo.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_utils.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_fake_hardware.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_xclarity.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_drac.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/third_party_driver_mock_specs.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_cisco.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_snmp.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_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 creating build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp creating 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/bios.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.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/inspect.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/job.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/raid.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac creating build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.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/neutron.py -> build/lib/ironic/drivers/modules/network copying ironic/tests/__init__.py -> build/lib/ironic/tests copying ironic/tests/base.py -> build/lib/ironic/tests creating build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/__init__.py -> build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/client.py -> build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/server.py -> build/lib/ironic/common/json_rpc creating build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity creating build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_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/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network running egg_info deleting ironic.egg-info/requires.txt writing ironic.egg-info/PKG-INFO writing top-level names to ironic.egg-info/top_level.txt writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt [pbr] Reusing existing SOURCES.txt creating build/lib/ironic/releasenotes creating build/lib/ironic/releasenotes/notes copying ironic/releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml -> build/lib/ironic/releasenotes/notes creating build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/inventory -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks creating build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins creating build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library creating build/lib/ironic/drivers/modules/ansible/playbooks/roles creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers copying ironic/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/elilo_efi_pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/master_grub_cfg.txt -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules copying ironic/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common copying ironic/api/app.wsgi -> build/lib/ironic/api copying ironic/db/sqlalchemy/alembic.ini -> build/lib/ironic/db/sqlalchemy creating build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/README -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/env.py -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib/ironic/db/sqlalchemy/alembic creating build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/tests/unit/drivers/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/elilo_efi_pxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers + sleep 1 + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.stNF5D + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch ++ dirname /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch + cd ironic-12.1.6 + CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' + /usr/bin/python2 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7 creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/policy_fixture.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_middleware.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_audit.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_acl.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_ospmiddleware.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_root.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1 creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/mgr_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_steps.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_status.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/stubs.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/test_auth.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conf creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_port.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_objects.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_fields.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_trait.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_node.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_notification.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/elilo_efi_pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_timeout.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_drac.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_cisco.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib/ironic/tests/unit/drivers/modules/cimc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib/ironic/tests/unit/drivers/modules/cimc/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib/ironic/tests/unit/drivers/modules/cimc/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib/ironic/tests/unit/drivers/modules/cimc/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib/ironic/tests/unit/drivers/modules/ucs/test_helper.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib/ironic/tests/unit/drivers/modules/ucs/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib/ironic/tests/unit/drivers/modules/ucs/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib/ironic/tests/unit/drivers/modules/ucs/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ansible copying build/lib/ironic/tests/unit/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ansible copying build/lib/ironic/tests/unit/drivers/modules/test_ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/test_inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/test_ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/test_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/test_generic.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mocks.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_context.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_policy.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_states.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_images.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_exception.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_json_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_swift.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_network.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_glance_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/raid_constants.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_types.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_models.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_nodes.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_portgroups.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_tags.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_connectors.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_traits.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_targets.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_ports.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_bios_settings.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/functional copying build/lib/ironic/tests/functional/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/functional creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/app.wsgi -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/auth_token.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/json_ext.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/parsable_error.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/expose.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/version.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/link.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/node.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/collection.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/event.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/versions.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/port.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/driver.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/types.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/state.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/root.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/json_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/cisco.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/iscsi.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/raid_config_schema.json -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/cisco_ucs.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/flat.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc copying build/lib/ironic/drivers/modules/cimc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc copying build/lib/ironic/drivers/modules/cimc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc copying build/lib/ironic/drivers/modules/cimc/common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc copying build/lib/ironic/drivers/modules/cimc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc copying build/lib/ironic/drivers/modules/agent_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs copying build/lib/ironic/drivers/modules/ucs/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs copying build/lib/ironic/drivers/modules/ucs/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs copying build/lib/ironic/drivers/modules/ucs/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs copying build/lib/ironic/drivers/modules/ucs/helper.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/elilo_efi_pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/ansible/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/inventory -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean.yaml -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/vendor_passthru.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/job.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/external.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_base.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/firmware_processor.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/console.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/common.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/client.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/server.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/base_image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v2 copying build/lib/ironic/common/glance_service/v2/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v2 copying build/lib/ironic/common/glance_service/v2/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v2 copying build/lib/ironic/common/glance_service/service_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/hacking copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/hacking creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/models.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/README -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/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-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/api.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/releasenotes creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/releasenotes/notes copying build/lib/ironic/releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/releasenotes/notes byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/version.py to version.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/none.py to none.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/neutron.py to neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/test_base.py to test_base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp/test_factory.py to test_factory.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp/test_neutron.py to test_neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/policy_fixture.py to policy_fixture.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/test_middleware.py to test_middleware.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/test_audit.py to test_audit.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/test_hooks.py to test_hooks.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/test_acl.py to test_acl.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/test_ospmiddleware.py to test_ospmiddleware.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/test_healthcheck.py to test_healthcheck.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/test_root.py to test_root.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/test_base.py to test_base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_target.py to test_volume_target.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_port.py to test_port.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_deploy_template.py to test_deploy_template.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_utils.py to test_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_chassis.py to test_chassis.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_portgroup.py to test_portgroup.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_types.py to test_types.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_node.py to test_node.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_versions.py to test_versions.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_driver.py to test_driver.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_event.py to test_event.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_expose.py to test_expose.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_connector.py to test_volume_connector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_notification_utils.py to test_notification_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_volume.py to test_volume.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_ramdisk.py to test_ramdisk.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_conductor.py to test_conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_allocation.py to test_allocation.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1/test_root.py to test_root.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_utils.py to test_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_base_manager.py to test_base_manager.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/mgr_utils.py to mgr_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_rpcapi.py to test_rpcapi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_manager.py to test_manager.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_steps.py to test_steps.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_task_manager.py to test_task_manager.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_allocations.py to test_allocations.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test_notification_utils.py to test_notification_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd/test_status.py to test_status.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd/test_dbsync.py to test_dbsync.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd/test_conductor.py to test_conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/stubs.py to stubs.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conf/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conf/test_auth.py to test_auth.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_volume_target.py to test_volume_target.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_port.py to test_port.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_deploy_template.py to test_deploy_template.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_objects.py to test_objects.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_chassis.py to test_chassis.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_fields.py to test_fields.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_trait.py to test_trait.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_portgroup.py to test_portgroup.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_node.py to test_node.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_notification.py to test_notification.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_volume_connector.py to test_volume_connector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_bios.py to test_bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_conductor.py to test_conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects/test_allocation.py to test_allocation.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_ilo.py to test_ilo.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_utils.py to test_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_base.py to test_base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_fake_hardware.py to test_fake_hardware.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_redfish.py to test_redfish.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_xclarity.py to test_xclarity.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_irmc.py to test_irmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_drac.py to test_drac.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_ibmc.py to test_ibmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py to third_party_driver_mock_specs.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_ipmi.py to test_ipmi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_cisco.py to test_cisco.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network/test_flat.py to test_flat.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py to test_neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network/test_common.py to test_common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network/test_noop.py to test_noop.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc/test_common.py to test_common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs/test_helper.py to test_helper.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_agent_client.py to test_agent_client.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_agent.py to test_agent.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_inspector.py to test_inspector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py to test_boot_mode_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ansible/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ansible/test_deploy.py to test_deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_ipxe.py to test_ipxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_noop_mgmt.py to test_noop_mgmt.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py to test_deploy_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_utils.py to test_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py to test_vendor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ibmc/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_inspect_utils.py to test_inspect_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_console_utils.py to test_console_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_image_cache.py to test_image_cache.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_pxe.py to test_pxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py to test_raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_job.py to test_job.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py to test_periodic_task.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_common.py to test_common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py to test_bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py to test_inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py to test_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish/test_bios.py to test_bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish/test_inspect.py to test_inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py to test_ipmitool.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/storage/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/storage/test_external.py to test_external.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py to test_cinder.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_noop.py to test_noop.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py to test_iscsi_deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_common.py to test_common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py to test_agent_base_vendor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py to test_console.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_raid.py to test_raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py to test_vendor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py to test_boot.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py to test_firmware_processor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py to test_common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_bios.py to test_bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py to test_inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_raid.py to test_raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py to test_periodic_task.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py to test_boot.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py to test_common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_bios.py to test_bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py to test_inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/test_snmp.py to test_snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_generic.py to test_generic.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_snmp.py to test_snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py to third_party_driver_mocks.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_rpc.py to test_rpc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_hash_ring.py to test_hash_ring.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_context.py to test_context.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_wsgi_service.py to test_wsgi_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_raid.py to test_raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_rpc_service.py to test_rpc_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_utils.py to test_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_policy.py to test_policy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_cinder.py to test_cinder.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_states.py to test_states.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_images.py to test_images.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_exception.py to test_exception.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_json_rpc.py to test_json_rpc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_pxe_utils.py to test_pxe_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_swift.py to test_swift.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_release_mappings.py to test_release_mappings.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_neutron.py to test_neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_driver_factory.py to test_driver_factory.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_keystone.py to test_keystone.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_network.py to test_network.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_image_service.py to test_image_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_fsm.py to test_fsm.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common/test_glance_service.py to test_glance_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/raid_constants.py to raid_constants.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy/test_types.py to test_types.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy/test_models.py to test_models.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py to test_migrations.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy/test_api.py to test_api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_chassis.py to test_chassis.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_nodes.py to test_nodes.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_portgroups.py to test_portgroups.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_node_tags.py to test_node_tags.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_volume_connectors.py to test_volume_connectors.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_deploy_templates.py to test_deploy_templates.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_node_traits.py to test_node_traits.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_allocations.py to test_allocations.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_volume_targets.py to test_volume_targets.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_ports.py to test_ports.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_api.py to test_api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_bios_settings.py to test_bios_settings.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/test_conductor.py to test_conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/functional/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/app.py to app.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware/auth_token.py to auth_token.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware/json_ext.py to json_ext.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware/parsable_error.py to parsable_error.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/hooks.py to hooks.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/expose.py to expose.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/wsgi.py to wsgi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/config.py to config.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/version.py to version.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/link.py to link.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/chassis.py to chassis.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/bios.py to bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/volume_connector.py to volume_connector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/node.py to node.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/collection.py to collection.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/event.py to event.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/portgroup.py to portgroup.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/versions.py to versions.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/port.py to port.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/notification_utils.py to notification_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/ramdisk.py to ramdisk.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/volume_target.py to volume_target.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/deploy_template.py to deploy_template.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/driver.py to driver.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/volume.py to volume.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/types.py to types.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/state.py to state.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/allocation.py to allocation.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1/conductor.py to conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/root.py to root.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/steps.py to steps.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/manager.py to manager.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/rpcapi.py to rpcapi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/notification_utils.py to notification_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py to task_manager.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/allocations.py to allocations.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/base_manager.py to base_manager.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/dbsync.py to dbsync.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/status.py to status.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/api.py to api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/conductor.py to conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/ibmc.py to ibmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/metrics.py to metrics.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/ansible.py to ansible.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/database.py to database.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/inspector.py to inspector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/redfish.py to redfish.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/auth.py to auth.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/deploy.py to deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/pxe.py to pxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/healthcheck.py to healthcheck.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/snmp.py to snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/dhcp.py to dhcp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/service_catalog.py to service_catalog.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/metrics_statsd.py to metrics_statsd.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/opts.py to opts.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/swift.py to swift.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/audit.py to audit.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/ilo.py to ilo.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/json_rpc.py to json_rpc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/default.py to default.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/cisco.py to cisco.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/ipmi.py to ipmi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/cinder.py to cinder.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/console.py to console.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/xclarity.py to xclarity.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/irmc.py to irmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/glance.py to glance.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/api.py to api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/agent.py to agent.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/conductor.py to conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/neutron.py to neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/iscsi.py to iscsi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/drac.py to drac.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/chassis.py to chassis.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/bios.py to bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/volume_connector.py to volume_connector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/node.py to node.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/indirection.py to indirection.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/trait.py to trait.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/portgroup.py to portgroup.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/port.py to port.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/volume_target.py to volume_target.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/deploy_template.py to deploy_template.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/fields.py to fields.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/notification.py to notification.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/allocation.py to allocation.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/conductor.py to conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/ibmc.py to ibmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/redfish.py to redfish.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/generic.py to generic.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/snmp.py to snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/hardware_type.py to hardware_type.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/ilo.py to ilo.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/cisco_ucs.py to cisco_ucs.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/ipmi.py to ipmi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/xclarity.py to xclarity.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/irmc.py to irmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/fake_hardware.py to fake_hardware.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/noop.py to noop.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network/noop.py to noop.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network/common.py to common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network/flat.py to flat.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network/neutron.py to neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_client.py to agent_client.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py to iscsi_deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/image_cache.py to image_cache.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc/common.py to common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py to agent_base_vendor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/deploy_utils.py to deploy_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs/helper.py to helper.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/boot_mode_utils.py to boot_mode_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/inspector.py to inspector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/pxe.py to pxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/deploy.py to deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py to ironic_log.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/library/stream_url.py to stream_url.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/library/root_hints.py to root_hints.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py to facts_wwn.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/snmp.py to snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/console_utils.py to console_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ipmitool.py to ipmitool.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc/mappings.py to mappings.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc/vendor.py to vendor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ibmc/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ipxe.py to ipxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/vendor_passthru.py to vendor_passthru.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/bios.py to bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/common.py to common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/inspect.py to inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/job.py to job.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/raid.py to raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish/bios.py to bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish/inspect.py to inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage/noop.py to noop.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage/external.py to external.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage/cinder.py to cinder.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/fake.py to fake.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/pxe_base.py to pxe_base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/inspect_utils.py to inspect_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent.py to agent.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity/common.py to common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/bios.py to bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/vendor.py to vendor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/common.py to common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/inspect.py to inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/raid.py to raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/firmware_processor.py to firmware_processor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/console.py to console.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo/boot.py to boot.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/noop_mgmt.py to noop_mgmt.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/bios.py to bios.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/common.py to common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/inspect.py to inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/raid.py to raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc/boot.py to boot.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/drac.py to drac.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/fsm.py to fsm.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/json_rpc/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/json_rpc/client.py to client.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/json_rpc/server.py to server.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/states.py to states.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/driver_factory.py to driver_factory.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/exception.py to exception.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/base_image_service.py to base_image_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v2/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v2/image_service.py to image_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/service_utils.py to service_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/service.py to service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/i18n.py to i18n.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/faults.py to faults.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/keystone.py to keystone.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/network.py to network.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/context.py to context.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/swift.py to swift.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/dhcp_factory.py to dhcp_factory.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/images.py to images.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/release_mappings.py to release_mappings.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/hash_ring.py to hash_ring.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/policy.py to policy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/image_service.py to image_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/raid.py to raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/rpc_service.py to rpc_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/cinder.py to cinder.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/profiler.py to profiler.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/rpc.py to rpc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/boot_devices.py to boot_devices.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/config.py to config.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/pxe_utils.py to pxe_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/wsgi_service.py to wsgi_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/boot_modes.py to boot_modes.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/neutron.py to neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/hacking/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/hacking/checks.py to checks.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/models.py to models.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/migration.py to migration.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/env.py to env.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py to 60cf717201bc_add_standalone_ports_supported.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py to 2d13bc3d6bba_add_bios_config_and_interface.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py to 487deb87cc9d_add_conductor_affinity_and_online.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py to 31baaf680d2b_add_node_instance_info.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py to b4130a7fc904_create_nodetraits_table.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py to 664f85c2f622_add_conductor_group_to_nodes_conductors.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py to 9cbeefa3763f_add_port_is_smartnic.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py to dd67b91a1981_add_allocations_table.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py to 2fb93ffd2af1_increase_node_name_length.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py to 93706939026c_add_node_protected_field.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py to 3d86a077a3f2_add_port_physical_network.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py to 21b331f883ef_add_provision_updated_at.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py to 2353895ecfae_add_conductor_hardware_interfaces_table.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py to 868cb606a74a_add_version_field_in_base_class.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py to d2b036ae9378_add_automated_clean_field.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py to 1e15e7122cc9_add_extra_column_to_deploy_templates.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py to 242cc6a923b3_add_node_maintenance_reason.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py to f6fdb920c182_set_pxe_enabled_true.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py to daa1ba02d98_add_volume_connectors_table.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py to 1d6951876d68_add_storage_interface_db_field_and_.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py to c14cef6dfedf_populate_node_network_interface.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py to fb3f10dd262e_add_fault_to_node_table.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py to 4f399b21ae71_add_node_clean_step.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py to 82c315d60161_add_bios_settings.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py to dbefd6bdaa2c_add_default_column_to_.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py to b9117ac17882_add_node_deploy_step.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py to 1e1d5ace7dc6_add_inspection_started_at_and_.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py to 493d8f27f235_add_portgroup_configuration_fields.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py to bb59b63f55a_add_node_driver_internal_info.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py to f190f9d00a11_add_node_owner.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py to bcdd431ba0bf_add_fields_for_all_interfaces.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py to e918ff30eb42_resize_column_nodes_instance_info.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py to 789acc877671_add_raid_config.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py to 2aac7e0872f6_add_deploy_templates.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py to 3ae36a5f5131_add_logical_name.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py to e294876e8028_add_node_network_interface.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py to 516faf1bb9b1_resizing_column_nodes_driver.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py to dd34e1f1303b_add_resource_class_to_node.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py to 28c44432c9c3_add_node_description.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/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.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py to 405cfe08f18d_add_rescue_interface_to_node.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py to 5674c57409b9_replace_nostate_with_available.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py to 3bea56f25597_add_unique_constraint_to_instance_uuid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py to 48d6c242bb9b_add_node_tags.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py to 1a59178ebdf6_add_volume_targets_table.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py to 10b163d4481e_add_port_portgroup_internal_info.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py to 3cb628139ea4_nodes_add_console_enabled.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/api.py to api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/migration.py to migration.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/api.py to api.pyc writing byte-compilation script '/tmp/tmpE6STBZ.py' /usr/bin/python2 -O /tmp/tmpE6STBZ.py removing /tmp/tmpE6STBZ.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-lib.filters -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-images.filters -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d/ running install_egg_info running egg_info writing ironic.egg-info/PKG-INFO writing top-level names to ironic.egg-info/top_level.txt writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt [pbr] Reusing existing SOURCES.txt Copying ironic.egg-info to /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic-12.1.6-py2.7.egg-info running install_scripts /usr/lib/python2.7/site-packages/pbr/packaging.py:410: EasyInstallDeprecationWarning: Use get_header header = easy_install.get_script_header("", executable, is_wininst) Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/bin Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/bin Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/bin + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/etc/ironic/rootwrap.d + export PYTHONPATH=. + PYTHONPATH=. + oslo-config-generator-2 --config-file tools/config/ironic-config-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch//etc/ironic/ironic.conf + oslopolicy-sample-generator-2 --config-file tools/policy/ironic-policy-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch//etc/ironic/policy.json + mv /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-images.filters /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-lib.filters /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch//usr/share/ironic/ironic-dist.conf + /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 /builddir/build/BUILD/ironic-12.1.6 /usr/lib/rpm/sepdebugcrcfix: Updated 0 CRC32s, 0 CRC32s did match. find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-compress + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 Bytecompiling .py files below /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7 using /usr/bin/python2.7 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/lib/rpm/redhat/brp-java-repack-jars Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.Lnqwk0 + umask 022 + cd /builddir/build/BUILD + cd ironic-12.1.6 + PYTHON=python2 + stestr-2 run 2020-11-20 07:00:32.300 8211 INFO alembic.runtime.migration [req-554ea7ee-f9ab-4079-b1a0-13e66a2653e4 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.302 8211 INFO alembic.runtime.migration [req-554ea7ee-f9ab-4079-b1a0-13e66a2653e4 - - - - -] 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 -> 1e15e7122cc9 POST: /v1/allocations {'uuid': 'c013f09b-c18d-4b4a-80e2-ddd65b2f4442', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} 2020-11-20 07:00:32.432 8214 INFO alembic.runtime.migration [req-5349f1af-4773-4e7e-8437-c3b9d66a5dd7 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.433 8214 INFO alembic.runtime.migration [req-5349f1af-4773-4e7e-8437-c3b9d66a5dd7 - - - - -] 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 -> 1e15e7122cc9 {8} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.185201s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/c013f09b-c18d-4b4a-80e2-ddd65b2f4442 Openstack-Request-Id: req-c7744ba5-7908-49c0-9878-484068e5ca01 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "c013f09b-c18d-4b4a-80e2-ddd65b2f4442", "links": [{"href": "http://localhost/v1/allocations/c013f09b-c18d-4b4a-80e2-ddd65b2f4442", "rel": "self"}, {"href": "http://localhost/allocations/c013f09b-c18d-4b4a-80e2-ddd65b2f4442", "rel": "bookmark"}], "extra": {}, "last_error": null, "created_at": "2000-01-01T00:00:00+00:00", "resource_class": "baremetal", "updated_at": null, "traits": [], "state": "allocating", "candidate_nodes": [], "name": null} GET: /v1/allocations/c013f09b-c18d-4b4a-80e2-ddd65b2f4442 {} GOT:{u'node_uuid': None, u'uuid': u'c013f09b-c18d-4b4a-80e2-ddd65b2f4442', u'links': [{u'href': u'http://localhost/v1/allocations/c013f09b-c18d-4b4a-80e2-ddd65b2f4442', u'rel': u'self'}, {u'href': u'http://localhost/allocations/c013f09b-c18d-4b4a-80e2-ddd65b2f4442', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {5} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.333642s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_sample [0.018358s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.024674s] ... ok GET: /v1/allocations/423f3111-5c53-494b-a3c3-8ea81d6ed77f {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"The API version does not allow allocations\", \"title\": \"Not Found\"}"} {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.092619s] ... ok POST: /v1/allocations {'uuid': 'd346f108-b9c7-4fa2-b062-adce0da18a88', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'name': None} 2020-11-20 07:00:32.671 8240 INFO alembic.runtime.migration [req-649bbd3a-3679-4a7a-a485-65100118fdea - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.672 8240 INFO alembic.runtime.migration [req-649bbd3a-3679-4a7a-a485-65100118fdea - - - - -] Will assume non-transactional DDL. GET: /v1/nodes/detail?sort_key=resource_class {} INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. 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 -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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 -> 1e15e7122cc9 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 -> 1e15e7122cc9 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] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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 -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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 -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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 -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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 -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 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 -> 1e15e7122cc9 INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. "max-count" must be a positive value. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) 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. Error while running foo: bar. /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) POST: /v1/allocations {'uuid': 'fef3c941-4853-43a0-93db-bbf88ee84c69', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': ['this/is/not a/node/name'], 'name': None} /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {38} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_init [0.073182s] ... ok /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) 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. 2020-11-20 07:00:32.700 8212 INFO alembic.runtime.migration [req-edd44022-9b6c-40fd-9912-f324a64916fb - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.701 8212 INFO alembic.runtime.migration [req-edd44022-9b6c-40fd-9912-f324a64916fb - - - - -] Will assume non-transactional DDL. GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/d93849f0-7b27-4d7d-b3e4-79060df9f94d {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"\", \"title\": \"Method Not Allowed\"}"} {6} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.251888s] ... ok 2020-11-20 07:00:32.783 8244 INFO alembic.runtime.migration [req-330c6341-15f7-4197-8e33-9e75cd0f4450 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.784 8244 INFO alembic.runtime.migration [req-330c6341-15f7-4197-8e33-9e75cd0f4450 - - - - -] Will assume non-transactional DDL. 2020-11-20 07:00:32.765 8239 INFO alembic.runtime.migration [req-0e4b2518-2b7b-4dd2-8380-2df5460dfc35 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.766 8239 INFO alembic.runtime.migration [req-0e4b2518-2b7b-4dd2-8380-2df5460dfc35 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations {} GOT:{u'allocations': []} {33} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.259156s] ... ok 2020-11-20 07:00:32.811 8226 INFO alembic.runtime.migration [req-2bbcb70b-c707-4934-83ea-2de3b66f31ce - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.812 8226 INFO alembic.runtime.migration [req-2bbcb70b-c707-4934-83ea-2de3b66f31ce - - - - -] Will assume non-transactional DDL. DELETE: /v1/allocations/5afa98e9-04ed-4fba-8ea6-5a195c7d303b GOT:Response: 204 No Content Openstack-Request-Id: req-aa07e9a7-ca62-41e0-b67a-97f773997e1b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {20} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.457282s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82695e86-058f-4401-bfcb-f253cbc79c88 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\"}"} {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.051229s] ... ok GET: /v1/allocations {} GOT:{u'allocations': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'71b6a3c4-3ba9-458f-81e7-1b6279a53852', u'links': [{u'href': u'http://localhost/v1/allocations/71b6a3c4-3ba9-458f-81e7-1b6279a53852', u'rel': u'self'}, {u'href': u'http://localhost/allocations/71b6a3c4-3ba9-458f-81e7-1b6279a53852', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.895889+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'c08077dd-c956-4e97-a81f-8cd194aae256', u'links': [{u'href': u'http://localhost/v1/allocations/c08077dd-c956-4e97-a81f-8cd194aae256', u'rel': u'self'}, {u'href': u'http://localhost/allocations/c08077dd-c956-4e97-a81f-8cd194aae256', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.899020+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6710a409-8859-40d5-8f20-0e1edd9f8b86', u'links': [{u'href': u'http://localhost/v1/allocations/6710a409-8859-40d5-8f20-0e1edd9f8b86', u'rel': u'self'}, {u'href': u'http://localhost/allocations/6710a409-8859-40d5-8f20-0e1edd9f8b86', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.901989+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'aefc3123-7a7f-4d46-91cb-b3b92518b3c5', u'links': [{u'href': u'http://localhost/v1/allocations/aefc3123-7a7f-4d46-91cb-b3b92518b3c5', u'rel': u'self'}, {u'href': u'http://localhost/allocations/aefc3123-7a7f-4d46-91cb-b3b92518b3c5', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.904942+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation3'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'd039352f-d049-4b95-a051-ce4e83fe6d8b', u'links': [{u'href': u'http://localhost/v1/allocations/d039352f-d049-4b95-a051-ce4e83fe6d8b', u'rel': u'self'}, {u'href': u'http://localhost/allocations/d039352f-d049-4b95-a051-ce4e83fe6d8b', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.907845+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation4'}]} {6} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.135589s] ... ok GET: /v1/chassis?fields=extra,uuid {} GOT:{u'chassis': [{u'uuid': u'8a18d3bb-1b3e-4597-9ffb-311f05cff705', u'links': [{u'href': u'http://localhost/v1/chassis/8a18d3bb-1b3e-4597-9ffb-311f05cff705', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8a18d3bb-1b3e-4597-9ffb-311f05cff705', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'4bc104f2-99e9-42fb-93dd-c0eeb6e6dfaa', u'links': [{u'href': u'http://localhost/v1/chassis/4bc104f2-99e9-42fb-93dd-c0eeb6e6dfaa', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4bc104f2-99e9-42fb-93dd-c0eeb6e6dfaa', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'82514115-5bb7-4696-a06b-58a2ff3f0486', u'links': [{u'href': u'http://localhost/v1/chassis/82514115-5bb7-4696-a06b-58a2ff3f0486', u'rel': u'self'}, {u'href': u'http://localhost/chassis/82514115-5bb7-4696-a06b-58a2ff3f0486', u'rel': u'bookmark'}], u'extra': {}}], u'next': u'http://localhost/v1/chassis?sort_dir=asc&sort_key=id&fields=extra,uuid&limit=3&marker=82514115-5bb7-4696-a06b-58a2ff3f0486'} {6} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.056445s] ... ok POST: /v1/allocations {'uuid': '4c17392e-5f37-4190-9c07-d4a782e2e28b', 'resource_class': 'baremetal', 'extra': {}, 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'candidate_nodes': [], 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a87d28b1-133a-4fa0-8a78-96bb194543f4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.036912s] ... ok DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-0d993e1f-42a8-461e-8dda-e794fe77acfb X-Openstack-Ironic-Api-Maximum-Version: 1.56 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-34c698a8-a288-44e5-b247-1cebd6f047a4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\"}"} {38} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.217475s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ee39dae9-2b8b-49ee-ba20-ed6981ef66c1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\"}"} {34} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.195303s] ... ok GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/47c1d579-b63b-4cdc-bf0b-9e20ca9cf9c9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/47c1d579-b63b-4cdc-bf0b-9e20ca9cf9c9', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/47c1d579-b63b-4cdc-bf0b-9e20ca9cf9c9/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/47c1d579-b63b-4cdc-bf0b-9e20ca9cf9c9/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'47c1d579-b63b-4cdc-bf0b-9e20ca9cf9c9', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_1', u'created_at': u'2020-11-20T07:00:32.631964+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/47c1d579-b63b-4cdc-bf0b-9e20ca9cf9c9/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/47c1d579-b63b-4cdc-bf0b-9e20ca9cf9c9/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/46bb7696-17ec-4383-a6a9-3b59c6d48020', u'rel': u'self'}, {u'href': u'http://localhost/nodes/46bb7696-17ec-4383-a6a9-3b59c6d48020', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/46bb7696-17ec-4383-a6a9-3b59c6d48020/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/46bb7696-17ec-4383-a6a9-3b59c6d48020/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'46bb7696-17ec-4383-a6a9-3b59c6d48020', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_2', u'created_at': u'2020-11-20T07:00:32.623853+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/46bb7696-17ec-4383-a6a9-3b59c6d48020/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/46bb7696-17ec-4383-a6a9-3b59c6d48020/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/b84d268b-6561-4398-a003-bba7104fca03', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b84d268b-6561-4398-a003-bba7104fca03', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/b84d268b-6561-4398-a003-bba7104fca03/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b84d268b-6561-4398-a003-bba7104fca03/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'b84d268b-6561-4398-a003-bba7104fca03', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_3', u'created_at': u'2020-11-20T07:00:32.607407+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/b84d268b-6561-4398-a003-bba7104fca03/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b84d268b-6561-4398-a003-bba7104fca03/ports', u'rel': u'bookmark'}]}]} {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.150039s] ... ok DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3dafa1d0-3d28-455c-92cc-8773dda92fe0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\"}"} {34} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.129366s] ... ok PATCH: /v1/deploy_templates/70c20bbf-ce97-48a6-ae13-a4ea9afef450 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ca313399-b97c-44cb-99b5-c5c1245916f1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Deploy template 70c20bbf-ce97-48a6-ae13-a4ea9afef450 could not be found.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.062190s] ... ok DELETE: /v1/nodes/ca55fcda-1569-4d01-a41d-c9802682eb79/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-85544885-c7f5-4d78-94bc-9b6d69794ad2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Allocation for node ca55fcda-1569-4d01-a41d-c9802682eb79 was not found\"}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.079673+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {6} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.041119s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.075942s] ... ok 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-9351f4ed-0469-4632-9739-38ed489565fe X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {20} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.042697s] ... ok GET: /v1/chassis/detail {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:32.998959+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {38} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.043229s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'01e0737e-857f-49f4-b94e-6fe15631e6ca', u'links': [{u'href': u'http://localhost/v1/volume/targets/01e0737e-857f-49f4-b94e-6fe15631e6ca', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/01e0737e-857f-49f4-b94e-6fe15631e6ca', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'211a8b1c-2e75-4fd9-9417-5a4920b84bef', u'links': [{u'href': u'http://localhost/v1/volume/targets/211a8b1c-2e75-4fd9-9417-5a4920b84bef', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/211a8b1c-2e75-4fd9-9417-5a4920b84bef', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'01e0737e-857f-49f4-b94e-6fe15631e6ca', u'links': [{u'href': u'http://localhost/v1/volume/targets/01e0737e-857f-49f4-b94e-6fe15631e6ca', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/01e0737e-857f-49f4-b94e-6fe15631e6ca', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=1&marker=01e0737e-857f-49f4-b94e-6fe15631e6ca'} {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.131863s] ... ok GET: /v1/allocations?fields=uuid,extra {} GOT:{u'allocations': [{u'uuid': u'd1de37d3-43ca-45c0-9591-d81a07dd1ec5', u'links': [{u'href': u'http://localhost/v1/allocations/d1de37d3-43ca-45c0-9591-d81a07dd1ec5', u'rel': u'self'}, {u'href': u'http://localhost/allocations/d1de37d3-43ca-45c0-9591-d81a07dd1ec5', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'978383f0-cd7d-4a88-a26d-8633d3471c73', u'links': [{u'href': u'http://localhost/v1/allocations/978383f0-cd7d-4a88-a26d-8633d3471c73', u'rel': u'self'}, {u'href': u'http://localhost/allocations/978383f0-cd7d-4a88-a26d-8633d3471c73', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'5e7db2d8-cc5f-48af-a37a-e5abf994bf1f', u'links': [{u'href': u'http://localhost/v1/allocations/5e7db2d8-cc5f-48af-a37a-e5abf994bf1f', u'rel': u'self'}, {u'href': u'http://localhost/allocations/5e7db2d8-cc5f-48af-a37a-e5abf994bf1f', u'rel': u'bookmark'}], u'extra': {}}]} {33} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.105988s] ... ok GET: /v1/chassis?detail=False&fields=description {} GOT:{u'chassis': [{u'description': u'data-center-1-chassis', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}]}]} {34} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.041724s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a5e0c0b-10b7-44ad-af5d-13be4e7ab95d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:32.884094+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.090618s] ... ok GET: /v1/deploy_templates/bafc62ba-2da4-4ac9-970c-6e2709b8a147?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-42cb31c0-972f-4307-985e-38839e8233fb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {20} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.057896s] ... ok PATCH: /v1/deploy_templates/df6bf3d1-3f98-4f26-85f3-cab2126a824c [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ee5e2cea-8895-4636-9997-5fd15ff1a439 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "df6bf3d1-3f98-4f26-85f3-cab2126a824c", "links": [{"href": "http://localhost/v1/deploy_templates/df6bf3d1-3f98-4f26-85f3-cab2126a824c", "rel": "self"}, {"href": "http://localhost/deploy_templates/df6bf3d1-3f98-4f26-85f3-cab2126a824c", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.124354+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT2"} {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.064859s] ... ok POST: /v1/allocations {'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/6eeebb26-74a6-40a5-8669-ea6d73ff5952 Openstack-Request-Id: req-84e9fc42-ac7f-4f0e-94c7-334ae5cad933 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "6eeebb26-74a6-40a5-8669-ea6d73ff5952", "links": [{"href": "http://localhost/v1/allocations/6eeebb26-74a6-40a5-8669-ea6d73ff5952", "rel": "self"}, {"href": "http://localhost/allocations/6eeebb26-74a6-40a5-8669-ea6d73ff5952", "rel": "bookmark"}], "extra": {}, "last_error": null, "created_at": "2020-11-20T07:00:33.087017+00:00", "resource_class": "baremetal", "updated_at": null, "traits": [], "state": "allocating", "candidate_nodes": [], "name": null} GET: /v1/allocations/6eeebb26-74a6-40a5-8669-ea6d73ff5952 {} GOT:{u'node_uuid': None, u'uuid': u'6eeebb26-74a6-40a5-8669-ea6d73ff5952', u'links': [{u'href': u'http://localhost/v1/allocations/6eeebb26-74a6-40a5-8669-ea6d73ff5952', u'rel': u'self'}, {u'href': u'http://localhost/allocations/6eeebb26-74a6-40a5-8669-ea6d73ff5952', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.087017+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {33} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.059087s] ... ok GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ed7fa8fb-a723-4a62-9e8c-629099851249 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.034734s] ... ok PATCH: /v1/deploy_templates/b746eec8-1511-4742-9dec-46f326979af2 [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-076ea688-140f-4f20-afb6-3d1e492e4692 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"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 _\"}"} {20} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.053544s] ... ok POST: /v1/events {'events': [{'event': 'valid.event'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-25e6da5c-6891-4df9-90e1-d640b5402281 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8a668841-852a-45a2-a7ea-2d552d8f1daf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {38} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.038801s] ... ok PATCH: /v1/nodes/0e17727f-961a-4cc7-bc92-394813888bba [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-95f83874-bcbc-439d-841d-69f9075c2e79 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.065226s] ... ok POST: /v1/allocations {'uuid': '86bc7671-bb67-413b-b8ef-c5cb8fb0f9b6', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71f5d861-9671-4c5d-ae9d-b1488e488fdb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'None'. Mandatory field missing.\"}"} {33} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.035080s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.033919s] ... ok GET: /v1/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'dynamic', u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2/properties', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict'}], 'uuid': 'ae82d378-ed6f-421c-bc00-b8dd97358971', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a57aa38-c73f-4783-ac76-1cc3539061e1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict'}], 'uuid': 'ae82d378-ed6f-421c-bc00-b8dd97358971', 'name': 'CUSTOM_DT1', 'extra': {}}'. Value not a valid dict: not a dict\"}"} GET: /v1/conductors?sort_key=alive {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5147a292-bc59-43be-955d-0068d65c72ed X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value alive is an invalid field for sorting\"}"} GET: /v1/conductors?sort_key=drivers {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ebd8b5fa-49ff-4587-a879-c1cc6b269b34 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\"}"} GET: /v1/deploy_templates {} GOT:{u'deploy_templates': [{u'uuid': u'ac89b0ea-0815-46c2-a58a-23b65b43b042', u'links': [{u'href': u'http://localhost/v1/deploy_templates/ac89b0ea-0815-46c2-a58a-23b65b43b042', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/ac89b0ea-0815-46c2-a58a-23b65b43b042', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}]} GET: /v1/deploy_templates?detail=False {} GOT:{u'deploy_templates': [{u'uuid': u'ac89b0ea-0815-46c2-a58a-23b65b43b042', u'links': [{u'href': u'http://localhost/v1/deploy_templates/ac89b0ea-0815-46c2-a58a-23b65b43b042', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/ac89b0ea-0815-46c2-a58a-23b65b43b042', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}]} {38} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.077964s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.117793s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.034484s] ... ok PATCH: /v1/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5d34205-d255-4331-b381-c44de178bc07 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de", "rel": "self"}, {"href": "http://localhost/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/states", "rel": "self"}, {"href": "http://localhost/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "18ebcc51-ab13-4cdb-9c25-95f99130b9de", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/volume", "rel": "self"}, {"href": "http://localhost/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.058080+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/ports", "rel": "self"}, {"href": "http://localhost/nodes/18ebcc51-ab13-4cdb-9c25-95f99130b9de/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-937b2ded-0062-464e-88c9-22aaf5d9dff8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'. Value should have a maximum character requirement of 255\"}"} {33} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.034841s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.098209s] ... ok PATCH: /v1/deploy_templates/7e2e1c57-1f11-4afb-8e63-9f691687b6c2 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-27dcb4f2-2428-4a2d-be50-ec3c9d2ad2b1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {6} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.037288s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.050040s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.038089s] ... ok GET: /v1/nodes?fields=uuid,instance_info {} GOT:{u'nodes': [{u'uuid': u'4c27fb80-17ca-4741-85ca-b51f4cc1b53c', u'links': [{u'href': u'http://localhost/v1/nodes/4c27fb80-17ca-4741-85ca-b51f4cc1b53c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4c27fb80-17ca-4741-85ca-b51f4cc1b53c', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'ade9cf17-a1bb-4ea3-b1f9-4c9b2d170281', u'links': [{u'href': u'http://localhost/v1/nodes/ade9cf17-a1bb-4ea3-b1f9-4c9b2d170281', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ade9cf17-a1bb-4ea3-b1f9-4c9b2d170281', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'57289036-3796-41bb-8147-a2727f40876d', u'links': [{u'href': u'http://localhost/v1/nodes/57289036-3796-41bb-8147-a2727f40876d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/57289036-3796-41bb-8147-a2727f40876d', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} PATCH: /v1/nodes/d8d3db0a-4d97-4a11-9ea8-351014561be4 [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f26c954-0c9a-4e7b-9d6f-cd6ed504f0ca X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot update node traits via node patch. Node traits should be updated via the node traits API.\"}"} GET: /v1/nodes/detail?instance_uuid=050604f2-6679-43aa-9a61-dd592bfe5869 {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/4db6e64e-3a3d-4951-89af-04e3e1ddcf05', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4db6e64e-3a3d-4951-89af-04e3e1ddcf05', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'4db6e64e-3a3d-4951-89af-04e3e1ddcf05', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'050604f2-6679-43aa-9a61-dd592bfe5869', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.433193+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/4db6e64e-3a3d-4951-89af-04e3e1ddcf05/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4db6e64e-3a3d-4951-89af-04e3e1ddcf05/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} GET: /v1/conductors {} GOT:{u'conductors': [{u'hostname': u'why care', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/why care', u'rel': u'self'}, {u'href': u'http://localhost/conductors/why care', u'rel': u'bookmark'}]}, {u'hostname': u'why not', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/why not', u'rel': u'self'}, {u'href': u'http://localhost/conductors/why not', u'rel': u'bookmark'}]}]} {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.143726s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.069165s] ... ok ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to commit the pending BIOS changes for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.094828s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.020731s] ... ok PATCH: /v1/deploy_templates/996e2252-5656-4970-8822-4b12c0ba1c59 [{'path': '/steps/0', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb1cba72-d681-4552-b59b-effc232cbf7f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: No deploy steps specified. A deploy template must have at least one deploy step..\"}"} {38} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.061637s] ... ok PATCH: /v1/deploy_templates/7c1f85d1-926c-403a-800b-fb5bd194a085 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f827aa3c-0db2-4e87-bade-4ba4152388e5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 7c1f85d1-926c-403a-800b-fb5bd194a085 already exists.\"}"} {33} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.058282s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.071579s] ... ok 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-63c4eb9b-299f-4259-acf4-b41f30165b79 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.060525s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1d976f60-049a-4b97-b16a-ccd096726963 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} DELETE: /v1/nodes/foo.1 GOT:Response: 204 No Content Openstack-Request-Id: req-89d664e1-e1e9-4f9a-b7f0-ae2d38215802 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.058767s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.057743s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=owner {} GOT:{u'owner': u'fred', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.066873s] ... ok PATCH: /v1/deploy_templates/63879871-cbbd-4e1c-a1b6-41cecaabee8d [{'path': '/steps/0/interface', 'value': 'foo', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3c2099df-5f23-4cf6-8fde-2d6d0d607b36 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: bios, management, raid, power, deploy\"}"} {34} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.049114s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c50e6725-e8e0-420a-b04c-896a65a9ad03 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}}], 'uuid': '700ea655-7fe0-4691-bfeb-24e5ef322361', 'name': u'CUSTOM_DT1'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/700ea655-7fe0-4691-bfeb-24e5ef322361 Openstack-Request-Id: req-b309436e-6ac1-4b75-b594-2c7f7a66a118 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "700ea655-7fe0-4691-bfeb-24e5ef322361", "links": [{"href": "http://localhost/v1/deploy_templates/700ea655-7fe0-4691-bfeb-24e5ef322361", "rel": "self"}, {"href": "http://localhost/deploy_templates/700ea655-7fe0-4691-bfeb-24e5ef322361", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.298397+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}}], "name": "CUSTOM_DT1"} GET: /v1/drivers?type=dynamic {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'dynamic', u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2/properties', u'rel': u'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-16144a8c-1b22-41ad-a454-2721265715ee X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute maintenance. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.089150s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.052996s] ... ok {33} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.060138s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.038974s] ... ok 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-d65eba6a-effb-4686-9ed0-76802742149e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} {34} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.072801s] ... ok PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8a7a0033-ccc6-425a-9e58-e22d388f7030 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.050846s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [], 'uuid': '081c85ba-9b70-488d-8fb0-0949bee26443', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-58f4ff0d-245c-4119-b5f4-1069bccaf067 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: No deploy steps specified. A deploy template must have at least one deploy step..\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{u'traits': [u'CUSTOM_1', u'CUSTOM_2']} {38} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.034524s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9be4d2dc-470d-47e8-aa44-26ea0a09d1b6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9be4d2dc-470d-47e8-aa44-26ea0a09d1b6', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9be4d2dc-470d-47e8-aa44-26ea0a09d1b6'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8287332f-7696-4e08-bac8-a2e43e3ac7cf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8287332f-7696-4e08-bac8-a2e43e3ac7cf', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8287332f-7696-4e08-bac8-a2e43e3ac7cf'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4b268720-366c-4781-b91e-e018129cbf9a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b268720-366c-4781-b91e-e018129cbf9a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4b268720-366c-4781-b91e-e018129cbf9a'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/db990c48-d124-4ce7-a743-b9475c62e9f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/db990c48-d124-4ce7-a743-b9475c62e9f2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'db990c48-d124-4ce7-a743-b9475c62e9f2'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1b7e9313-6ab2-412c-b20a-a4370b38eabc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1b7e9313-6ab2-412c-b20a-a4370b38eabc', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1b7e9313-6ab2-412c-b20a-a4370b38eabc'}]} {5} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.080665s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.155592s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/1bdeb73d-a69e-4767-8d9d-2c3b07f41d81 GOT:Response: 204 No Content Openstack-Request-Id: req-d0af35ed-55c1-438d-81fd-614e043706e1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {33} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.044802s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.019135s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.013521+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.013521+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'foo': u'bar'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {5} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.012964s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.092464s] ... ok ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to set the BIOS settings for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-5ced0fa6-a00d-4056-bea9-e30516fa2319 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {34} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.102207s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.069645s] ... ok GET: /v1/ports?detail=False&fields=internal_info {} GOT:{u'ports': [{u'internal_info': {u'bar': u'buzz'}, u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}]}]} GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes?detail=False {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} {5} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.081364s] ... ok 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-307db5d2-56e4-4c73-b044-0186dd22d1f4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {33} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.158201s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.070572s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b9837cfa-815b-42ac-8c4a-f37b45429e2a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {34} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.048897s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:{u'traits': [], u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to delete the pending BIOS settings for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. {34} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.079089s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/40b78aba-059f-4fa2-8030-a82d3edf25ae', u'rel': u'self'}, {u'href': u'http://localhost/nodes/40b78aba-059f-4fa2-8030-a82d3edf25ae', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'40b78aba-059f-4fa2-8030-a82d3edf25ae'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/78a1ed4d-697a-4269-b05a-d9b1ca1704b9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/78a1ed4d-697a-4269-b05a-d9b1ca1704b9', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'78a1ed4d-697a-4269-b05a-d9b1ca1704b9'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b5cc25e3-b074-4516-877e-1e346c9eedff', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b5cc25e3-b074-4516-877e-1e346c9eedff', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b5cc25e3-b074-4516-877e-1e346c9eedff'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=b5cc25e3-b074-4516-877e-1e346c9eedff'} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'value': '2000-01-01 00:00:00', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-22f4b080-71bc-44db-829b-ccc918f97407 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/provision_updated_at' is an internal attribute and can not be updated\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.055277s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.153979s] ... ok GET: /v1/nodes?description_contains=cat {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/662b721e-b1ae-4b0a-b61a-ec6e0ab37457', u'rel': u'self'}, {u'href': u'http://localhost/nodes/662b721e-b1ae-4b0a-b61a-ec6e0ab37457', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'662b721e-b1ae-4b0a-b61a-ec6e0ab37457'}]} GET: /v1/nodes?description_contains=dog {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6e13e133-0d8e-4e8b-9a8b-42cd29d3c3a7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6e13e133-0d8e-4e8b-9a8b-42cd29d3c3a7', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'6e13e133-0d8e-4e8b-9a8b-42cd29d3c3a7'}]} {33} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.153388s] ... ok PATCH: /v1/ports/69441703-c469-4bef-ad79-75abf629730f [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27312cf8-59f1-4c63-b31a-91ef55a30957 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "69441703-c469-4bef-ad79-75abf629730f", "links": [{"href": "http://localhost/v1/ports/69441703-c469-4bef-ad79-75abf629730f", "rel": "self"}, {"href": "http://localhost/ports/69441703-c469-4bef-ad79-75abf629730f", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:33.714078+00:00", "address": "52:55:00:cf:2d:31", "internal_info": {"foo": "bar"}, "created_at": "2020-11-20T07:00:33.669575+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2dd3192e-daec-4399-86b0-d3684d4070ff X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id_not_internal [0.099076s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.088361s] ... ok 2020-11-20 07:00:32.797 8233 INFO alembic.runtime.migration [req-c8c61ec0-cfd8-4847-a519-afab36d0597b - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.798 8233 INFO alembic.runtime.migration [req-c8c61ec0-cfd8-4847-a519-afab36d0597b - - - - -] Will assume non-transactional DDL. GET: /v1/chassis?sort_key=uuid {} GOT:{u'chassis': [{u'uuid': u'56d6d5ea-5842-494f-981a-299b60b313ea', u'links': [{u'href': u'http://localhost/v1/chassis/56d6d5ea-5842-494f-981a-299b60b313ea', u'rel': u'self'}, {u'href': u'http://localhost/chassis/56d6d5ea-5842-494f-981a-299b60b313ea', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'6f9c2438-8721-4d3c-8058-779e993e6dd9', u'links': [{u'href': u'http://localhost/v1/chassis/6f9c2438-8721-4d3c-8058-779e993e6dd9', u'rel': u'self'}, {u'href': u'http://localhost/chassis/6f9c2438-8721-4d3c-8058-779e993e6dd9', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'ab2728fb-1a84-44f4-ade5-c01bc545165c', u'links': [{u'href': u'http://localhost/v1/chassis/ab2728fb-1a84-44f4-ade5-c01bc545165c', u'rel': u'self'}, {u'href': u'http://localhost/chassis/ab2728fb-1a84-44f4-ade5-c01bc545165c', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {27} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.248576s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b7523e6c-8825-4259-bb59-a4918859390c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {38} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.064149s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} GOT:{u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}} {33} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.069048s] ... ok GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa1323d2-cabf-4298-bd16-aba62fb6f8e8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute instance_uuid. Value: 'fake'. unable to convert to uuid. Error: Expected a UUID but received fake.\"}"} {34} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.041619s] ... ok 2020-11-20 07:00:32.953 8241 INFO alembic.runtime.migration [req-7e4b3661-09aa-4b44-93ba-2d63e56e080d - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.954 8241 INFO alembic.runtime.migration [req-7e4b3661-09aa-4b44-93ba-2d63e56e080d - - - - -] Will assume non-transactional DDL. GET: /v1/allocations {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"The API version does not allow allocations\", \"title\": \"Not Found\"}"} {35} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.270146s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:{u'storage_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected {} GOT:{u'protected': True, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} 2020-11-20 07:00:32.782 8228 INFO alembic.runtime.migration [req-0869b364-b7c2-425d-97ff-46873dfdaeb9 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.783 8228 INFO alembic.runtime.migration [req-0869b364-b7c2-425d-97ff-46873dfdaeb9 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis?detail=True {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:32.912080+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} GET: /v1/conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://localhost/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:32.987853+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:32.986480+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']} {33} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.068124s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.067769s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.047285s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.246151s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'invalid%id^'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-caacf5d0-7146-492e-9b55-6f7d08a0375e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a logical name or UUID but received invalid%id^.\"}"} 2020-11-20 07:00:32.942 8217 INFO alembic.runtime.migration [req-c9f0e83f-07c5-461c-907e-c04e737e728b - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.943 8217 INFO alembic.runtime.migration [req-c9f0e83f-07c5-461c-907e-c04e737e728b - - - - -] Will assume non-transactional DDL. GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {11} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.178743s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.050027s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'i am invalid', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f5b0a7a-2a86-485d-9f16-fe6e14f736ca X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\"}"} {11} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.021215s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.068065s] ... ok {11} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.021055s] ... ok {11} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.020906s] ... ok GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e1338216-3239-4741-a48d-5d28f212b862 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-538946b3-edf0-4a78-9c05-235186ede1f7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-45bc32ce-ea94-4162-b5ed-f9461801aedf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2cbcb9b0-2e19-4bac-b95b-4d00902e07e4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=instance_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93a3d509-5f8f-4432-8e1d-9388fea95d73 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-048e86e4-ada1-4617-8ba3-9a463b10e176 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=clean_step {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-baeb6f3f-e7de-4e36-9117-4319ff4cbb2b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8aa8127f-3412-430b-a590-cf6970ad9989 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.089419s] ... ok 2020-11-20 07:00:32.783 8235 INFO alembic.runtime.migration [req-d696e0aa-f6ce-4c0a-a661-e955a5b98d04 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.784 8235 INFO alembic.runtime.migration [req-d696e0aa-f6ce-4c0a-a661-e955a5b98d04 - - - - -] Will assume non-transactional DDL. 2020-11-20 07:00:32.818 8224 INFO alembic.runtime.migration [req-9ce05a44-74aa-4b5e-811d-76a4b9f06b21 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.819 8224 INFO alembic.runtime.migration [req-9ce05a44-74aa-4b5e-811d-76a4b9f06b21 - - - - -] Will assume non-transactional DDL. {18} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.173668s] ... ok 2020-11-20 07:00:32.839 8221 INFO alembic.runtime.migration [req-e6503a4c-d50a-4449-b4a5-0edeb6da29ef - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.840 8221 INFO alembic.runtime.migration [req-e6503a4c-d50a-4449-b4a5-0edeb6da29ef - - - - -] Will assume non-transactional DDL. {36} ironic.tests.unit.api.controllers.v1.test_allocation.TestAllocationObject.test_allocation_init [0.072674s] ... ok {15} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.176898s] ... ok {29} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.170748s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} GOT:{u'name': None, u'links': [{u'href': u'http://localhost/v1/allocations/e58a6e73-3cea-47a7-a313-7c928c4ccaca', u'rel': u'self'}, {u'href': u'http://localhost/allocations/e58a6e73-3cea-47a7-a313-7c928c4ccaca', u'rel': u'bookmark'}], u'extra': {}} PATCH: /v1/nodes/00000504-a8cc-4d04-834a-a9e362045815 [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6cd9bc4b-ad99-4f6d-9e16-bcfe029356c9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://foo/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://foo/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.032757+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.032249+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']} GET: /v1/conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://foo/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://foo/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.032757+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.032249+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']} GET: /conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://foo/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://foo/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.032757+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.032249+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']} {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.158791s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {34} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.063698s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.065017s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.100476s] ... ok {15} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.021924s] ... ok 2020-11-20 07:00:32.873 8213 INFO alembic.runtime.migration [req-8c72edc2-74af-453a-bda2-331e94b782b6 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.874 8213 INFO alembic.runtime.migration [req-8c72edc2-74af-453a-bda2-331e94b782b6 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations/ba!na!na! {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"The API version does not allow allocations\", \"title\": \"Not Found\"}"} PATCH: /v1/nodes/abc5f153-9f93-4c57-8140-edced5f7a4ad [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8216dbfb-4185-4400-856c-6a991c3e441e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.238805s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.066192s] ... ok 2020-11-20 07:00:32.864 8232 INFO alembic.runtime.migration [req-108ccb01-43a4-405b-9656-fe0f2d40aef9 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.865 8232 INFO alembic.runtime.migration [req-108ccb01-43a4-405b-9656-fe0f2d40aef9 - - - - -] Will assume non-transactional DDL. DELETE: /v1/allocations/ba!na!na1 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"The API version does not allow allocations\", \"title\": \"Method Not Allowed\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.454023+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.454023+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {26} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.265840s] ... ok 2020-11-20 07:00:32.892 8215 INFO alembic.runtime.migration [req-296959f5-2e11-4853-8911-74872ee6d65b - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.892 8215 INFO alembic.runtime.migration [req-296959f5-2e11-4853-8911-74872ee6d65b - - - - -] Will assume non-transactional DDL. GET: /v1/allocations/95bd7e87-5374-481b-a01f-199495a79f51 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'95bd7e87-5374-481b-a01f-199495a79f51', u'links': [{u'href': u'http://localhost/v1/allocations/95bd7e87-5374-481b-a01f-199495a79f51', u'rel': u'self'}, {u'href': u'http://localhost/allocations/95bd7e87-5374-481b-a01f-199495a79f51', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.045035+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'pg.1'} {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.084580s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.292257s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestNodeObject.test_node_init [0.012201s] ... ok 2020-11-20 07:00:32.860 8234 INFO alembic.runtime.migration [req-e850b062-dcde-4dc9-8fdc-a473063cb904 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.861 8234 INFO alembic.runtime.migration [req-e850b062-dcde-4dc9-8fdc-a473063cb904 - - - - -] Will assume non-transactional DDL. DELETE: /v1/allocations/2e814d5e-86a3-4e5a-874c-a04b86d536ea GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3b5920c1-9c53-4607-b6a6-0f17bd2c8526 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.310015s] ... ok 2020-11-20 07:00:33.065 8210 INFO alembic.runtime.migration [req-3e398852-d2bc-4b07-9109-2efdeca43447 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:33.067 8210 INFO alembic.runtime.migration [req-3e398852-d2bc-4b07-9109-2efdeca43447 - - - - -] Will assume non-transactional DDL. 2020-11-20 07:00:32.809 8208 INFO alembic.runtime.migration [req-ad2a5e9d-9cb9-4162-8bb8-31212760be20 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.810 8208 INFO alembic.runtime.migration [req-ad2a5e9d-9cb9-4162-8bb8-31212760be20 - - - - -] Will assume non-transactional DDL. {4} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.191609s] ... ok PATCH: /v1/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9bcd0331-496d-4717-90f5-45bb0ad40d3c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc", "rel": "self"}, {"href": "http://localhost/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/states", "rel": "self"}, {"href": "http://localhost/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/states", "rel": "bookmark"}], "traits": [], "provision_state": "active", "clean_step": {}, "vendor_interface": null, "uuid": "82139d6a-afb6-44f9-aa4c-136f5176cdfc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/volume", "rel": "self"}, {"href": "http://localhost/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.247271+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/ports", "rel": "self"}, {"href": "http://localhost/nodes/82139d6a-afb6-44f9-aa4c-136f5176cdfc/ports", "rel": "bookmark"}], "console_interface": null, "protected": true, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.090767s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.173835s] ... ok 2020-11-20 07:00:32.824 8220 INFO alembic.runtime.migration [req-a3eddefc-8044-47f5-8f42-c51c51df99f5 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.825 8220 INFO alembic.runtime.migration [req-a3eddefc-8044-47f5-8f42-c51c51df99f5 - - - - -] Will assume non-transactional DDL. {14} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.175875s] ... ok 2020-11-20 07:00:32.898 8243 INFO alembic.runtime.migration [req-70893329-39c7-40d7-b6f4-a52a214e033b - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.898 8243 INFO alembic.runtime.migration [req-70893329-39c7-40d7-b6f4-a52a214e033b - - - - -] Will assume non-transactional DDL. DELETE: /v1/allocations/alloc1 GOT:Response: 204 No Content Openstack-Request-Id: req-4814cd52-b208-48b8-9eb5-6ccb92b2c788 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 2020-11-20 07:00:32.854 8242 INFO alembic.runtime.migration [req-af4c6c1e-21d2-40e1-ab55-55abb622e180 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.855 8242 INFO alembic.runtime.migration [req-af4c6c1e-21d2-40e1-ab55-55abb622e180 - - - - -] Will assume non-transactional DDL. DELETE: /v1/allocations/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d1beef5f-e25e-4038-ab68-349f925cb81e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\"}"} {37} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.300405s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.211381s] ... ok 2020-11-20 07:00:32.773 8231 INFO alembic.runtime.migration [req-8d4a1e17-c114-4c0f-ab00-566b4a67e20c - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.774 8231 INFO alembic.runtime.migration [req-8d4a1e17-c114-4c0f-ab00-566b4a67e20c - - - - -] Will assume non-transactional DDL. {25} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.144995s] ... ok GET: /v1/deploy_templates?detail=False&fields=steps {} GOT:{u'deploy_templates': [{u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'links': [{u'href': u'http://localhost/v1/deploy_templates/671cb49e-0325-4a4c-b4b8-e26a24a3a329', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/671cb49e-0325-4a4c-b4b8-e26a24a3a329', u'rel': u'bookmark'}]}]} {27} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.061576s] ... ok GET: /v1/node/cda82860-2066-4fae-a0d4-2edf8df48e2b/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {37} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.035349s] ... ok 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-02fa9ccb-2794-494f-8aae-dcd105dd8782 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {34} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.051684s] ... ok 2020-11-20 07:00:33.060 8236 INFO alembic.runtime.migration [req-9061e92b-fa3c-4505-a9d5-ef46ba73df29 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:33.061 8236 INFO alembic.runtime.migration [req-9061e92b-fa3c-4505-a9d5-ef46ba73df29 - - - - -] Will assume non-transactional DDL. DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 204 No Content Openstack-Request-Id: req-95ad470b-4a4e-464e-9337-7475c42ad4a2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {30} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.323734s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'a28742aa-22e9-4ea1-b770-0033da3501a1', u'links': [{u'href': u'http://localhost/v1/allocations/a28742aa-22e9-4ea1-b770-0033da3501a1', u'rel': u'self'}, {u'href': u'http://localhost/allocations/a28742aa-22e9-4ea1-b770-0033da3501a1', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.952284+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {29} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.148035s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description {} GOT:{u'description': u'data-center-1-chassis', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}} {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.098964s] ... ok DELETE: /v1/allocations/02252bbd-63e3-4219-b0b1-152dc1eae0d7 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"The API version does not allow allocations\", \"title\": \"Method Not Allowed\"}"} 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-74aa03b3-5494-4285-a304-016dcd39cbdf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {15} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.090824s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.040690s] ... ok GET: /v1/allocations/540fd96d-4852-4d78-a1de-41cfc5d36d81 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'540fd96d-4852-4d78-a1de-41cfc5d36d81', u'links': [{u'href': u'http://localhost/v1/allocations/540fd96d-4852-4d78-a1de-41cfc5d36d81', u'rel': u'self'}, {u'href': u'http://localhost/allocations/540fd96d-4852-4d78-a1de-41cfc5d36d81', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.287114+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.060609s] ... ok DELETE: /v1/allocations/alloc1.json GOT:Response: 204 No Content Openstack-Request-Id: req-bd013ea6-5ad2-457e-b7cc-8d16f710ee9f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 GET: /v1/chassis?detail=True&fields=description {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02e926a2-89f6-4be5-8b98-1382555eb999 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.039667s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.123097s] ... ok 2020-11-20 07:00:32.867 8216 INFO alembic.runtime.migration [req-912ca484-9d1c-46c2-8e2a-418857208a74 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.868 8216 INFO alembic.runtime.migration [req-912ca484-9d1c-46c2-8e2a-418857208a74 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations?node=banana {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-58b81e66-aef5-41eb-ad2c-4d3f3a21bd4d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\"}"} PATCH: /v1/nodes/bba58dba-c676-49e5-93f5-7b20ec8e3632 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8176029f-b73d-4277-b717-14f6e5dbfca6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"bba58dba-c676-49e5-93f5-7b20ec8e3632\\\" while it is in state \\\"inspecting\\\".\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.077960s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.292885s] ... ok 2020-11-20 07:00:33.014 8237 INFO alembic.runtime.migration [req-d113d782-1f55-4214-ae7d-97539fd3d947 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:33.015 8237 INFO alembic.runtime.migration [req-d113d782-1f55-4214-ae7d-97539fd3d947 - - - - -] Will assume non-transactional DDL. POST: /v1/allocations {'uuid': '72492bef-293f-4c78-a907-159428026b23', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"The API version does not allow allocations\", \"title\": \"Method Not Allowed\"}"} {31} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.185908s] ... ok GET: /v1/conductors {} GOT:{u'conductors': []} {25} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.039190s] ... ok 2020-11-20 07:00:32.794 8219 INFO alembic.runtime.migration [req-3bad08f7-a525-4a79-8298-f8cf6a8c3927 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.795 8219 INFO alembic.runtime.migration [req-3bad08f7-a525-4a79-8298-f8cf6a8c3927 - - - - -] Will assume non-transactional DDL. DELETE: /v1/nodes/35639acd-682a-48a6-b9fb-7d3ab715e21f/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a5a716b0-748d-46b2-b16c-3c973e0db493 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 35639acd-682a-48a6-b9fb-7d3ab715e21f could not be found.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.280954s] ... ok 2020-11-20 07:00:33.008 8230 INFO alembic.runtime.migration [req-eac37313-534a-4a21-b656-a0d274bb506b - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:33.009 8230 INFO alembic.runtime.migration [req-eac37313-534a-4a21-b656-a0d274bb506b - - - - -] Will assume non-transactional DDL. GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {24} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.253986s] ... ok 2020-11-20 07:00:32.786 8245 INFO alembic.runtime.migration [req-6219bedb-1b53-4cc2-9db0-58fb597d1bd8 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.787 8245 INFO alembic.runtime.migration [req-6219bedb-1b53-4cc2-9db0-58fb597d1bd8 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations?fields=uuid,extra {} GOT:{u'allocations': [{u'uuid': u'6a684ecb-8aff-437f-8e30-55ff38dc33d2', u'links': [{u'href': u'http://localhost/v1/allocations/6a684ecb-8aff-437f-8e30-55ff38dc33d2', u'rel': u'self'}, {u'href': u'http://localhost/allocations/6a684ecb-8aff-437f-8e30-55ff38dc33d2', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'ab7fdfc5-d76a-4624-ad0e-a2a694f0c30c', u'links': [{u'href': u'http://localhost/v1/allocations/ab7fdfc5-d76a-4624-ad0e-a2a694f0c30c', u'rel': u'self'}, {u'href': u'http://localhost/allocations/ab7fdfc5-d76a-4624-ad0e-a2a694f0c30c', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'8f8edaf7-8dd6-4bad-a9e8-c726796db48a', u'links': [{u'href': u'http://localhost/v1/allocations/8f8edaf7-8dd6-4bad-a9e8-c726796db48a', u'rel': u'self'}, {u'href': u'http://localhost/allocations/8f8edaf7-8dd6-4bad-a9e8-c726796db48a', u'rel': u'bookmark'}], u'extra': {}}], u'next': u'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=8f8edaf7-8dd6-4bad-a9e8-c726796db48a'} {39} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.322339s] ... ok POST: /v1/allocations {'uuid': 'a3fc30ac-f57e-4e22-8415-ac45ab380928', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': 'aa:bb_cc'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3c71995-7690-4891-91d5-f9c698799dbb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\"}"} {14} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.040229s] ... ok GET: /v1/node/103de81e-c692-46dc-86e2-f3cf0c92e998/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {36} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.041097s] ... ok 2020-11-20 07:00:32.872 8222 INFO alembic.runtime.migration [req-b415c67a-c9d6-43e8-8a13-5c6d70c46ef8 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.873 8222 INFO alembic.runtime.migration [req-b415c67a-c9d6-43e8-8a13-5c6d70c46ef8 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations/6f382e72-8671-4237-9538-dd006f9d86b5?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f618ecd-0141-4e9d-8842-43e6377a4baa X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Windows ME', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dae37694-0372-4cbe-9d97-cb858d299817 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\"}"} GET: /v1/chassis {} GOT:{u'chassis': []} {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.080048s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.287763s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.067670s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'test', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3d2b1148-f0e0-4c62-9f9c-9ac9155f83ee X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.032502+00:00", "updated_at": "2020-11-20T07:00:33.058022+00:00", "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "test"} {18} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.057078s] ... ok 2020-11-20 07:00:32.812 8238 INFO alembic.runtime.migration [req-b0bca19a-4816-457e-ba14-f7125feff516 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.813 8238 INFO alembic.runtime.migration [req-b0bca19a-4816-457e-ba14-f7125feff516 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-99fb1b60-2fde-4c00-824c-baad55af8342 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {32} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.231028s] ... ok GET: /v1/deploy_templates/50d50f1f-33bf-4658-8ee8-04dfe41a4c27 {} GOT:{u'uuid': u'50d50f1f-33bf-4658-8ee8-04dfe41a4c27', u'links': [{u'href': u'http://localhost/v1/deploy_templates/50d50f1f-33bf-4658-8ee8-04dfe41a4c27', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/50d50f1f-33bf-4658-8ee8-04dfe41a4c27', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.159655+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} {27} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.046583s] ... ok GET: /v1/portgroups/b7e9a06b-ac41-4278-ad98-251c9804f8c2/ports {} GOT:{u'ports': [{u'uuid': u'5c886c14-4aac-4807-9ada-3d4a1422d33b', u'links': [{u'href': u'http://localhost/v1/ports/5c886c14-4aac-4807-9ada-3d4a1422d33b', u'rel': u'self'}, {u'href': u'http://localhost/ports/5c886c14-4aac-4807-9ada-3d4a1422d33b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'a014a7be-5163-4018-b34f-c582fc2c3b97', u'links': [{u'href': u'http://localhost/v1/ports/a014a7be-5163-4018-b34f-c582fc2c3b97', u'rel': u'self'}, {u'href': u'http://localhost/ports/a014a7be-5163-4018-b34f-c582fc2c3b97', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/portgroups/b7e9a06b-ac41-4278-ad98-251c9804f8c2/ports/detail {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'5c886c14-4aac-4807-9ada-3d4a1422d33b', u'links': [{u'href': u'http://localhost/v1/ports/5c886c14-4aac-4807-9ada-3d4a1422d33b', u'rel': u'self'}, {u'href': u'http://localhost/ports/5c886c14-4aac-4807-9ada-3d4a1422d33b', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'b7e9a06b-ac41-4278-ad98-251c9804f8c2', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:33.767655+00:00', u'is_smartnic': False}, {u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'a014a7be-5163-4018-b34f-c582fc2c3b97', u'links': [{u'href': u'http://localhost/v1/ports/a014a7be-5163-4018-b34f-c582fc2c3b97', u'rel': u'self'}, {u'href': u'http://localhost/ports/a014a7be-5163-4018-b34f-c582fc2c3b97', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'b7e9a06b-ac41-4278-ad98-251c9804f8c2', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:33.770831+00:00', u'is_smartnic': False}]} GET: /v1/portgroups/b7e9a06b-ac41-4278-ad98-251c9804f8c2/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'5c886c14-4aac-4807-9ada-3d4a1422d33b', u'links': [{u'href': u'http://localhost/v1/ports/5c886c14-4aac-4807-9ada-3d4a1422d33b', u'rel': u'self'}, {u'href': u'http://localhost/ports/5c886c14-4aac-4807-9ada-3d4a1422d33b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}], u'next': u'http://localhost/v1/ports?sort_dir=asc&sort_key=id&fields=uuid,address&limit=1&marker=5c886c14-4aac-4807-9ada-3d4a1422d33b'} GET: /v1/portgroups/b7e9a06b-ac41-4278-ad98-251c9804f8c2/ports/172401b4-a2f3-494f-be7d-7bfc120a742d {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} GET: /v1/portgroups/b7e9a06b-ac41-4278-ad98-251c9804f8c2/ports/938c16bf-4206-4681-825f-2d1d9d5c25e4 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f151e517-9f20-4e18-aa60-0c85bf6088cc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.185181s] ... ok 2020-11-20 07:00:32.913 8223 INFO alembic.runtime.migration [req-3e2881f7-5516-4bb0-917b-7570038aa429 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.914 8223 INFO alembic.runtime.migration [req-3e2881f7-5516-4bb0-917b-7570038aa429 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations/d8614a7e-c403-4b78-b544-b1c1f3f979b7 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'd8614a7e-c403-4b78-b544-b1c1f3f979b7', u'links': [{u'href': u'http://localhost/v1/allocations/d8614a7e-c403-4b78-b544-b1c1f3f979b7', u'rel': u'self'}, {u'href': u'http://localhost/allocations/d8614a7e-c403-4b78-b544-b1c1f3f979b7', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.060228+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'pg.json'} {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.285244s] ... ok GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'allocations': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'00af2039-8954-4d10-bd30-4378fb1d2ebb', u'links': [{u'href': u'http://localhost/v1/allocations/00af2039-8954-4d10-bd30-4378fb1d2ebb', u'rel': u'self'}, {u'href': u'http://localhost/allocations/00af2039-8954-4d10-bd30-4378fb1d2ebb', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.177232+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None}]} {37} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.073012s] ... ok 2020-11-20 07:00:32.906 8225 INFO alembic.runtime.migration [req-70ebe2ff-98a6-4132-ad3e-a97dc1fffd1b - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.908 8225 INFO alembic.runtime.migration [req-70ebe2ff-98a6-4132-ad3e-a97dc1fffd1b - - - - -] Will assume non-transactional DDL. POST: /v1/allocations {'uuid': 'b736c54e-e48f-45b1-93f2-5e8fa2e3c364', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c09c88b2-1d95-4bdc-8e0b-05595b0d4b98 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {19} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.200170s] ... ok GET: /v1/conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://localhost/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2000-01-01T00:00:00+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2000-01-01T00:00:00+00:00', u'alive': False, u'drivers': [u'fake-driver', u'null-driver']} {14} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.054488s] ... ok 2020-11-20 07:00:32.827 8218 INFO alembic.runtime.migration [req-a3c4937e-9e2d-493d-897a-41397f3547b3 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.828 8218 INFO alembic.runtime.migration [req-a3c4937e-9e2d-493d-897a-41397f3547b3 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations?sort_key=uuid {} GOT:{u'allocations': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'3d26fae6-ef7c-4811-ba9f-3223c3d46e07', u'links': [{u'href': u'http://localhost/v1/allocations/3d26fae6-ef7c-4811-ba9f-3223c3d46e07', u'rel': u'self'}, {u'href': u'http://localhost/allocations/3d26fae6-ef7c-4811-ba9f-3223c3d46e07', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.011792+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'f6c4712c-2ece-4b8a-b0d9-3f01bf6bd6c1', u'links': [{u'href': u'http://localhost/v1/allocations/f6c4712c-2ece-4b8a-b0d9-3f01bf6bd6c1', u'rel': u'self'}, {u'href': u'http://localhost/allocations/f6c4712c-2ece-4b8a-b0d9-3f01bf6bd6c1', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.014902+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'fe3fb97c-1c0a-4423-8466-122036f4bd48', u'links': [{u'href': u'http://localhost/v1/allocations/fe3fb97c-1c0a-4423-8466-122036f4bd48', u'rel': u'self'}, {u'href': u'http://localhost/allocations/fe3fb97c-1c0a-4423-8466-122036f4bd48', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.005852+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation0'}]} {12} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.500768s] ... ok 2020-11-20 07:00:32.803 8206 INFO alembic.runtime.migration [req-930eea63-b0c0-4766-a623-c06ea77e11f4 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.804 8206 INFO alembic.runtime.migration [req-930eea63-b0c0-4766-a623-c06ea77e11f4 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations/e82310ea-8a99-4b06-9567-1086a01da592.json {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e82310ea-8a99-4b06-9567-1086a01da592', u'links': [{u'href': u'http://localhost/v1/allocations/e82310ea-8a99-4b06-9567-1086a01da592', u'rel': u'self'}, {u'href': u'http://localhost/allocations/e82310ea-8a99-4b06-9567-1086a01da592', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.951766+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.284223s] ... ok POST: /v1/allocations {'uuid': '16a6aa12-0bc0-4123-bb17-b2cde822da08', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': ['invalid-format'], 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ddf2d842-e7d3-4e36-b41f-a3283b6ea8b1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'protected': True, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8be3f6c9-164c-4a13-8df9-ebbf92918543 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot specify protected or protected_reason on node creation. These fields can only be set for active nodes\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.044585s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.037914s] ... ok GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'ee009b1d-abfb-4ca2-b6f6-cfdc651478c0', u'links': [{u'href': u'http://localhost/v1/chassis/ee009b1d-abfb-4ca2-b6f6-cfdc651478c0', u'rel': u'self'}, {u'href': u'http://localhost/chassis/ee009b1d-abfb-4ca2-b6f6-cfdc651478c0', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'dee0f081-7472-47fc-828e-bae65d7d7b36', u'links': [{u'href': u'http://localhost/v1/chassis/dee0f081-7472-47fc-828e-bae65d7d7b36', u'rel': u'self'}, {u'href': u'http://localhost/chassis/dee0f081-7472-47fc-828e-bae65d7d7b36', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'3a882922-02d9-40cb-ba3c-677201ad0e35', u'links': [{u'href': u'http://localhost/v1/chassis/3a882922-02d9-40cb-ba3c-677201ad0e35', u'rel': u'self'}, {u'href': u'http://localhost/chassis/3a882922-02d9-40cb-ba3c-677201ad0e35', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}], u'next': u'http://localhost/v1/chassis?sort_dir=asc&sort_key=id&fields=uuid,description&limit=3&marker=3a882922-02d9-40cb-ba3c-677201ad0e35'} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.102100s] ... ok GET: /v1/chassis?fields=extra&limit=2 {} GOT:{u'chassis': [{u'links': [{u'href': u'http://localhost/v1/chassis/0d3b073a-ae13-4a8e-b979-9f2351ab92a9', u'rel': u'self'}, {u'href': u'http://localhost/chassis/0d3b073a-ae13-4a8e-b979-9f2351ab92a9', u'rel': u'bookmark'}], u'extra': {}}, {u'links': [{u'href': u'http://localhost/v1/chassis/afb40530-b397-4202-80eb-f48da3f6acf3', u'rel': u'self'}, {u'href': u'http://localhost/chassis/afb40530-b397-4202-80eb-f48da3f6acf3', u'rel': u'bookmark'}], u'extra': {}}], u'next': u'http://localhost/v1/chassis?sort_dir=asc&sort_key=id&fields=extra&limit=2&marker=afb40530-b397-4202-80eb-f48da3f6acf3'} {9} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.060019s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': True, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.677936+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/allocations {} GOT:{u'allocations': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'ac68fc2a-fbcd-4766-8fd6-68e0d3c0987f', u'links': [{u'href': u'http://localhost/v1/allocations/ac68fc2a-fbcd-4766-8fd6-68e0d3c0987f', u'rel': u'self'}, {u'href': u'http://localhost/allocations/ac68fc2a-fbcd-4766-8fd6-68e0d3c0987f', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.204981+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None}]} {38} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.065586s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.079476s] ... ok GET: /v1/conductors?fields=hostname,alive {} GOT:{u'conductors': [{u'hostname': u'rocky.rocks', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/rocky.rocks', u'rel': u'bookmark'}]}, {u'hostname': u'stein.rocks', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/stein.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/stein.rocks', u'rel': u'bookmark'}]}]} PATCH: /v1/allocations/a537bb28-e9a0-4acf-a618-01f28d4445e7 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"\", \"title\": \"Method Not Allowed\"}"} {16} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.053740s] ... ok GET: /v1/portgroups/detail {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.769847+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} GET: /v1/allocations?fields=node_uuid&limit=2 {} GOT:{u'allocations': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'links': [{u'href': u'http://localhost/v1/allocations/a92bb1a6-36f9-45f5-a1f5-3684e8e38784', u'rel': u'self'}, {u'href': u'http://localhost/allocations/a92bb1a6-36f9-45f5-a1f5-3684e8e38784', u'rel': u'bookmark'}]}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'links': [{u'href': u'http://localhost/v1/allocations/74c48701-8c96-4dcc-9a11-20435c982a38', u'rel': u'self'}, {u'href': u'http://localhost/allocations/74c48701-8c96-4dcc-9a11-20435c982a38', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=74c48701-8c96-4dcc-9a11-20435c982a38'} {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.083607s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.029030s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.067456s] ... ok GET: /v1/conductors?detail=true {} GOT:{u'conductors': [{u'links': [{u'href': u'http://localhost/v1/conductors/why care', u'rel': u'self'}, {u'href': u'http://localhost/conductors/why care', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.036154+00:00', u'hostname': u'why care', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.034826+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']}, {u'links': [{u'href': u'http://localhost/v1/conductors/why not', u'rel': u'self'}, {u'href': u'http://localhost/conductors/why not', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.040629+00:00', u'hostname': u'why not', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.040173+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.213203+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None}]} 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-0650a569-8740-4844-b702-f465e6ee4e8e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/chassis_id', 'value': u'1', 'op': 'replace'}'. Reason: can't replace non-existent object 'chassis_id'\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.066872s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.051845s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.120969s] ... ok GET: /v1/conductors/rocky.rocks {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f95ea636-0434-4660-b174-d594405fc004 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.034034s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-6a1c72fa-ee31-482c-9180-d5506340d551 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.076318s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-455dfe7d-4c11-4942-ab53-3c133e3c428a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.062518s] ... ok GET: /v1/conductors/?limit=3 {} GOT:{u'conductors': [{u'hostname': u'da0d330f-6bfd-4c79-88a6-0055752ffcda', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/da0d330f-6bfd-4c79-88a6-0055752ffcda', u'rel': u'self'}, {u'href': u'http://localhost/conductors/da0d330f-6bfd-4c79-88a6-0055752ffcda', u'rel': u'bookmark'}]}, {u'hostname': u'05ba9614-8ef4-422c-a471-79afb3fa9448', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/05ba9614-8ef4-422c-a471-79afb3fa9448', u'rel': u'self'}, {u'href': u'http://localhost/conductors/05ba9614-8ef4-422c-a471-79afb3fa9448', u'rel': u'bookmark'}]}, {u'hostname': u'6d4d5158-1617-4be7-ad41-ceebb8c08b34', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/6d4d5158-1617-4be7-ad41-ceebb8c08b34', u'rel': u'self'}, {u'href': u'http://localhost/conductors/6d4d5158-1617-4be7-ad41-ceebb8c08b34', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=6d4d5158-1617-4be7-ad41-ceebb8c08b34'} {15} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.083002s] ... ok DELETE: /v1/chassis/6ba13d75-945d-4fac-b0a3-a8900cf785a6 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52042bd3-35de-4da0-8bb2-a1f4a9d1d753 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 6ba13d75-945d-4fac-b0a3-a8900cf785a6 could not be found.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.038116s] ... ok POST: /v1/chassis/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-617feed9-c8d3-484d-867e-e4ffb8f2b6ff X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.043514s] ... ok PATCH: /v1/chassis/762206e8-8e09-4d8a-b3c8-3544cf1173db [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ecec4e76-cbe0-4764-98d8-fa77bfd4b0dd X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 762206e8-8e09-4d8a-b3c8-3544cf1173db could not be found.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.048936s] ... ok POST: /v1/allocations {'uuid': '18ee1423-3a69-4baf-a600-9060da220af2', 'resource_class': 'baremetal', 'extra': {}, 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'candidate_nodes': [], 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/18ee1423-3a69-4baf-a600-9060da220af2 Openstack-Request-Id: req-ddb6d6ab-14f8-4e30-8218-37d6b76f6eb8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "18ee1423-3a69-4baf-a600-9060da220af2", "links": [{"href": "http://localhost/v1/allocations/18ee1423-3a69-4baf-a600-9060da220af2", "rel": "self"}, {"href": "http://localhost/allocations/18ee1423-3a69-4baf-a600-9060da220af2", "rel": "bookmark"}], "extra": {}, "last_error": null, "created_at": "2020-11-20T07:00:33.086513+00:00", "resource_class": "baremetal", "updated_at": null, "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "state": "allocating", "candidate_nodes": [], "name": null} GET: /v1/allocations/18ee1423-3a69-4baf-a600-9060da220af2 {} GOT:{u'node_uuid': None, u'uuid': u'18ee1423-3a69-4baf-a600-9060da220af2', u'links': [{u'href': u'http://localhost/v1/allocations/18ee1423-3a69-4baf-a600-9060da220af2', u'rel': u'self'}, {u'href': u'http://localhost/allocations/18ee1423-3a69-4baf-a600-9060da220af2', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.086513+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [u'CUSTOM_GPU', u'CUSTOM_FOO_BAR'], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {26} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.061396s] ... ok GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5cceacb-eee9-4a3e-8157-9b01ac1b40f6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {16} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.043985s] ... ok GET: /v1/allocations {} GOT:{u'allocations': [{u'node_uuid': None, u'uuid': u'5c56248a-3976-4eb4-a8ce-e86825662f1f', u'links': [{u'href': u'http://localhost/v1/allocations/5c56248a-3976-4eb4-a8ce-e86825662f1f', u'rel': u'self'}, {u'href': u'http://localhost/allocations/5c56248a-3976-4eb4-a8ce-e86825662f1f', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.115266+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation0'}, {u'node_uuid': None, u'uuid': u'866a6180-8e3b-4b9e-a6e2-1ad723c1e1b6', u'links': [{u'href': u'http://localhost/v1/allocations/866a6180-8e3b-4b9e-a6e2-1ad723c1e1b6', u'rel': u'self'}, {u'href': u'http://localhost/allocations/866a6180-8e3b-4b9e-a6e2-1ad723c1e1b6', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.118481+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation1'}, {u'node_uuid': None, u'uuid': u'c7417391-5c81-4c2a-be5e-af72f1df972c', u'links': [{u'href': u'http://localhost/v1/allocations/c7417391-5c81-4c2a-be5e-af72f1df972c', u'rel': u'self'}, {u'href': u'http://localhost/allocations/c7417391-5c81-4c2a-be5e-af72f1df972c', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.121554+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation2'}], u'next': u'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=c7417391-5c81-4c2a-be5e-af72f1df972c'} {28} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.068550s] ... ok 2020-11-20 07:00:32.795 8207 INFO alembic.runtime.migration [req-65a7b756-38ae-4591-a586-f528f3e8eb90 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.796 8207 INFO alembic.runtime.migration [req-65a7b756-38ae-4591-a586-f528f3e8eb90 - - - - -] Will assume non-transactional DDL. GET: /v1/allocations/?limit=3 {} GOT:{u'allocations': [{u'node_uuid': None, u'uuid': u'aa072cb9-f86d-4be4-abac-60921982077e', u'links': [{u'href': u'http://localhost/v1/allocations/aa072cb9-f86d-4be4-abac-60921982077e', u'rel': u'self'}, {u'href': u'http://localhost/allocations/aa072cb9-f86d-4be4-abac-60921982077e', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.945595+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation0'}, {u'node_uuid': None, u'uuid': u'9cb88143-a1cd-4e0b-8a35-5beeef498e5c', u'links': [{u'href': u'http://localhost/v1/allocations/9cb88143-a1cd-4e0b-8a35-5beeef498e5c', u'rel': u'self'}, {u'href': u'http://localhost/allocations/9cb88143-a1cd-4e0b-8a35-5beeef498e5c', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.951771+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation1'}, {u'node_uuid': None, u'uuid': u'e1c0053a-cd07-41f2-a7d4-8fbf99c32979', u'links': [{u'href': u'http://localhost/v1/allocations/e1c0053a-cd07-41f2-a7d4-8fbf99c32979', u'rel': u'self'}, {u'href': u'http://localhost/allocations/e1c0053a-cd07-41f2-a7d4-8fbf99c32979', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:32.955156+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation2'}], u'next': u'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=e1c0053a-cd07-41f2-a7d4-8fbf99c32979'} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.283792s] ... ok POST: /v1/allocations {'uuid': 'df298e70-0b1d-4cfe-9db6-192ec1cf96d5', 'resource_class': 'baremetal', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/df298e70-0b1d-4cfe-9db6-192ec1cf96d5 Openstack-Request-Id: req-ac0ee284-89b9-4b55-9ba8-31c25e268a4f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "df298e70-0b1d-4cfe-9db6-192ec1cf96d5", "links": [{"href": "http://localhost/v1/allocations/df298e70-0b1d-4cfe-9db6-192ec1cf96d5", "rel": "self"}, {"href": "http://localhost/allocations/df298e70-0b1d-4cfe-9db6-192ec1cf96d5", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "last_error": null, "created_at": "2020-11-20T07:00:33.068110+00:00", "resource_class": "baremetal", "updated_at": null, "traits": [], "state": "allocating", "candidate_nodes": [], "name": null} GET: /v1/allocations/df298e70-0b1d-4cfe-9db6-192ec1cf96d5 {} GOT:{u'node_uuid': None, u'uuid': u'df298e70-0b1d-4cfe-9db6-192ec1cf96d5', u'links': [{u'href': u'http://localhost/v1/allocations/df298e70-0b1d-4cfe-9db6-192ec1cf96d5', u'rel': u'self'}, {u'href': u'http://localhost/allocations/df298e70-0b1d-4cfe-9db6-192ec1cf96d5', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.068110+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {7} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.063367s] ... ok PATCH: /v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e72db43a-bb82-4591-bfd4-61fe0641cd7e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5af1bd9d-f36e-4e07-b4c2-ac82ed373a16", "links": [{"href": "http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16", "rel": "self"}, {"href": "http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:32.965624+00:00", "updated_at": "2020-11-20T07:00:32.988095+00:00", "nodes": [{"href": "http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes", "rel": "self"}, {"href": "http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16 {} GOT:{u'uuid': u'5af1bd9d-f36e-4e07-b4c2-ac82ed373a16', u'links': [{u'href': u'http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo3': u'bar3'}, u'created_at': u'2020-11-20T07:00:32.965624+00:00', u'updated_at': u'2020-11-20T07:00:32.988095+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} PATCH: /v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9905affc-4e72-4186-918e-2bb090a10f5e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5af1bd9d-f36e-4e07-b4c2-ac82ed373a16", "links": [{"href": "http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16", "rel": "self"}, {"href": "http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:32.965624+00:00", "updated_at": "2020-11-20T07:00:33.014937+00:00", "nodes": [{"href": "http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes", "rel": "self"}, {"href": "http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16 {} GOT:{u'uuid': u'5af1bd9d-f36e-4e07-b4c2-ac82ed373a16', u'links': [{u'href': u'http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:32.965624+00:00', u'updated_at': u'2020-11-20T07:00:33.014937+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5af1bd9d-f36e-4e07-b4c2-ac82ed373a16/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} {22} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.090891s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'a7320568-36ca-42e2-bb7f-5255b89294a3', 'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7b83be6-889b-441c-976a-52e977b45388 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"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 _\"}"} {27} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.036573s] ... ok DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"The API version does not allow deploy templates\", \"title\": \"Method Not Allowed\"}"} {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.037755s] ... ok PATCH: /v1/deploy_templates/27218a5c-4f6b-448d-b556-61444d4fbf12 [{'path': '/steps/0', 'value': {'interface': 'raid', 'priority': 10, 'step': 'create_configuration0', 'args': {}}, 'op': 'add'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'priority': 10, 'step': 'create_configuration1', 'args': {}}, 'op': 'add'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'priority': 10, 'step': 'create_configuration2', 'args': {}}, 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23af9d54-d32a-481f-8471-43c2ef526b13 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "27218a5c-4f6b-448d-b556-61444d4fbf12", "links": [{"href": "http://localhost/v1/deploy_templates/27218a5c-4f6b-448d-b556-61444d4fbf12", "rel": "self"}, {"href": "http://localhost/deploy_templates/27218a5c-4f6b-448d-b556-61444d4fbf12", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.042750+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration0", "args": {}}, {"interface": "raid", "priority": 10, "step": "create_configuration1", "args": {}}, {"interface": "raid", "priority": 10, "step": "create_configuration2", "args": {}}, {"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT1"} {29} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.066315s] ... ok 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-13d2e533-72a2-4592-b068-33b347b5b711 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.102954s] ... ok 2020-11-20 07:00:32.907 8227 INFO alembic.runtime.migration [req-c0dec65f-1ad3-4c5f-a3ac-1ea3587edc12 - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.908 8227 INFO alembic.runtime.migration [req-c0dec65f-1ad3-4c5f-a3ac-1ea3587edc12 - - - - -] Will assume non-transactional DDL. POST: /v1/allocations {'uuid': '0b66ceb0-bf19-407e-9c13-6bcabf2966c3', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [u'node-1', 'dd725451-5adf-490c-93df-d701c5ae7575'], 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/0b66ceb0-bf19-407e-9c13-6bcabf2966c3 Openstack-Request-Id: req-eaec8805-70d0-4bba-8783-1e2622558229 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "0b66ceb0-bf19-407e-9c13-6bcabf2966c3", "links": [{"href": "http://localhost/v1/allocations/0b66ceb0-bf19-407e-9c13-6bcabf2966c3", "rel": "self"}, {"href": "http://localhost/allocations/0b66ceb0-bf19-407e-9c13-6bcabf2966c3", "rel": "bookmark"}], "extra": {}, "last_error": null, "created_at": "2020-11-20T07:00:33.099330+00:00", "resource_class": "baremetal", "updated_at": null, "traits": [], "state": "allocating", "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "dd725451-5adf-490c-93df-d701c5ae7575"], "name": null} GET: /v1/allocations/0b66ceb0-bf19-407e-9c13-6bcabf2966c3 {} GOT:{u'node_uuid': None, u'uuid': u'0b66ceb0-bf19-407e-9c13-6bcabf2966c3', u'links': [{u'href': u'http://localhost/v1/allocations/0b66ceb0-bf19-407e-9c13-6bcabf2966c3', u'rel': u'self'}, {u'href': u'http://localhost/allocations/0b66ceb0-bf19-407e-9c13-6bcabf2966c3', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.099330+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'dd725451-5adf-490c-93df-d701c5ae7575'], u'name': None} {21} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.301123s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDeployTemplateObject.test_deploy_template_sample [0.013300s] ... ok POST: /v1/allocations {'uuid': '50ee8189-65b2-424a-8d48-df7d09a4973f', 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32a1c8ba-6a30-4601-8484-a16e68136ad6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'. Value should have a maximum character requirement of 80\"}"} {24} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.036051s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78d2ff5c-02e8-4e32-8814-9a2ab66b613c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.976388+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.087029s] ... ok POST: /v1/allocations {'uuid': '5a58a55d-bf8e-41e0-a587-258373c62b01', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': 'foo'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/5a58a55d-bf8e-41e0-a587-258373c62b01 Openstack-Request-Id: req-ca1cfdf5-a6b4-4958-8b46-4eab58fb6017 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "5a58a55d-bf8e-41e0-a587-258373c62b01", "links": [{"href": "http://localhost/v1/allocations/5a58a55d-bf8e-41e0-a587-258373c62b01", "rel": "self"}, {"href": "http://localhost/allocations/5a58a55d-bf8e-41e0-a587-258373c62b01", "rel": "bookmark"}], "extra": {}, "last_error": null, "created_at": "2020-11-20T07:00:33.034620+00:00", "resource_class": "baremetal", "updated_at": null, "traits": [], "state": "allocating", "candidate_nodes": [], "name": "foo"} GET: /v1/allocations/5a58a55d-bf8e-41e0-a587-258373c62b01 {} GOT:{u'node_uuid': None, u'uuid': u'5a58a55d-bf8e-41e0-a587-258373c62b01', u'links': [{u'href': u'http://localhost/v1/allocations/5a58a55d-bf8e-41e0-a587-258373c62b01', u'rel': u'self'}, {u'href': u'http://localhost/allocations/5a58a55d-bf8e-41e0-a587-258373c62b01', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.034620+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'foo'} {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.064200s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} GOT:{u'management_interface': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_interface': None, u'deploy_interface': None, u'boot_interface': None, u'console_interface': None, u'raid_interface': None, u'vendor_interface': None} {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.071674s] ... ok PATCH: /v1/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73142586-2f8b-4165-87db-be92df645d2c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "cf9e3059-be30-4c18-95f8-e2db780af9a4", "links": [{"href": "http://localhost/v1/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4", "rel": "self"}, {"href": "http://localhost/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4", "rel": "bookmark"}], "extra": {"a": "b"}, "created_at": "2020-11-20T07:00:33.286652+00:00", "updated_at": "2020-11-20T07:00:33.309243+00:00", "nodes": [{"href": "http://localhost/v1/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4/nodes", "rel": "self"}, {"href": "http://localhost/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4/nodes", "rel": "bookmark"}], "description": null} GET: /v1/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4 {} GOT:{u'uuid': u'cf9e3059-be30-4c18-95f8-e2db780af9a4', u'links': [{u'href': u'http://localhost/v1/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4', u'rel': u'self'}, {u'href': u'http://localhost/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4', u'rel': u'bookmark'}], u'extra': {u'a': u'b'}, u'created_at': u'2020-11-20T07:00:33.286652+00:00', u'updated_at': u'2020-11-20T07:00:33.309243+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/cf9e3059-be30-4c18-95f8-e2db780af9a4/nodes', u'rel': u'bookmark'}], u'description': None} {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.064249s] ... ok GET: /v1/allocations/02037f64-e67a-4b29-a08f-f4331a332f9d?fields=resource_class,extra {} GOT:{u'extra': {}, u'links': [{u'href': u'http://localhost/v1/allocations/02037f64-e67a-4b29-a08f-f4331a332f9d', u'rel': u'self'}, {u'href': u'http://localhost/allocations/02037f64-e67a-4b29-a08f-f4331a332f9d', u'rel': u'bookmark'}], u'resource_class': u'baremetal'} {28} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.061912s] ... ok /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert UcsOperationError(u'%(operation)s failed, error: %(error)s',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GET: /v1/allocations?node=node-1 {} GOT:{u'allocations': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'aeb34b17-fcf5-4327-915c-2ebeb3734fe9', u'links': [{u'href': u'http://localhost/v1/allocations/aeb34b17-fcf5-4327-915c-2ebeb3734fe9', u'rel': u'self'}, {u'href': u'http://localhost/allocations/aeb34b17-fcf5-4327-915c-2ebeb3734fe9', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.302528+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'5fd0e630-2764-4f7c-b0c5-b26c1bf79231', u'links': [{u'href': u'http://localhost/v1/allocations/5fd0e630-2764-4f7c-b0c5-b26c1bf79231', u'rel': u'self'}, {u'href': u'http://localhost/allocations/5fd0e630-2764-4f7c-b0c5-b26c1bf79231', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.305759+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'409021a1-a3c7-4d26-9c9b-eb58bc9895c9', u'links': [{u'href': u'http://localhost/v1/allocations/409021a1-a3c7-4d26-9c9b-eb58bc9895c9', u'rel': u'self'}, {u'href': u'http://localhost/allocations/409021a1-a3c7-4d26-9c9b-eb58bc9895c9', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.308986+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation2'}]} {30} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.109489s] ... ok GET: /v1/portgroups?detail=True {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.836274+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} GET: /v1/chassis/?limit=3 {} GOT:{u'chassis': [{u'uuid': u'eaf2d224-e294-4c9f-adb7-a201bf8f1490', u'links': [{u'href': u'http://localhost/v1/chassis/eaf2d224-e294-4c9f-adb7-a201bf8f1490', u'rel': u'self'}, {u'href': u'http://localhost/chassis/eaf2d224-e294-4c9f-adb7-a201bf8f1490', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'0a895b7b-2126-4f68-b4f6-22a1986c1084', u'links': [{u'href': u'http://localhost/v1/chassis/0a895b7b-2126-4f68-b4f6-22a1986c1084', u'rel': u'self'}, {u'href': u'http://localhost/chassis/0a895b7b-2126-4f68-b4f6-22a1986c1084', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'b242a216-4a6b-40fe-831b-98b69bee2280', u'links': [{u'href': u'http://localhost/v1/chassis/b242a216-4a6b-40fe-831b-98b69bee2280', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b242a216-4a6b-40fe-831b-98b69bee2280', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}], u'next': u'http://localhost/v1/chassis?sort_dir=asc&sort_key=id&fields=uuid,description&limit=3&marker=b242a216-4a6b-40fe-831b-98b69bee2280'} {34} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.066335s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.099790s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f68b6249-d9bd-4603-ab31-34753e573383 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a979293c-f0b1-4e7d-8290-1b4c45bcf783 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.040676s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.038318s] ... ok POST: /v1/deploy_templates {'extra': {}, 'uuid': '4cd65736-8210-4822-90c5-a8c59d787271', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02ab0984-5617-4471-b33e-414964673abd X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute steps. Value: 'None'. Mandatory field missing.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.039671s] ... ok GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{u'deploy_templates': [{u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'uuid': u'5d7b3215-580d-4b98-b40b-8f29e086a90e', u'links': [{u'href': u'http://localhost/v1/deploy_templates/5d7b3215-580d-4b98-b40b-8f29e086a90e', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/5d7b3215-580d-4b98-b40b-8f29e086a90e', u'rel': u'bookmark'}]}, {u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'uuid': u'653cdacd-2e8f-44ec-97df-d6c2519a6a2d', u'links': [{u'href': u'http://localhost/v1/deploy_templates/653cdacd-2e8f-44ec-97df-d6c2519a6a2d', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/653cdacd-2e8f-44ec-97df-d6c2519a6a2d', u'rel': u'bookmark'}]}, {u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'uuid': u'56ab0a0c-e351-4c66-91d0-90ae949504d0', u'links': [{u'href': u'http://localhost/v1/deploy_templates/56ab0a0c-e351-4c66-91d0-90ae949504d0', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/56ab0a0c-e351-4c66-91d0-90ae949504d0', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=56ab0a0c-e351-4c66-91d0-90ae949504d0'} POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '1f7825bc-c2d9-449e-8192-26f132e1a670', 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-329a96c5-89a1-4e85-bbfa-2313bfcc9765 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Deploy template name cannot be None.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.036488s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.094624s] ... ok DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-47b19811-894c-4fd4-a6b4-a13304cf5e17 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'd761bd7e-a686-435b-b23a-abce52a48325', 'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/d761bd7e-a686-435b-b23a-abce52a48325 Openstack-Request-Id: req-502c6c8f-6cef-4eba-8aa0-4b09022bd2cf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "d761bd7e-a686-435b-b23a-abce52a48325", "links": [{"href": "http://localhost/v1/deploy_templates/d761bd7e-a686-435b-b23a-abce52a48325", "rel": "self"}, {"href": "http://localhost/deploy_templates/d761bd7e-a686-435b-b23a-abce52a48325", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.165173+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"} {29} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.066350s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.049353s] ... ok GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3426a121-9f95-48a2-8da4-13b852deecd6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/chassis?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f9624683-e577-41ac-9436-1bd839bb2387 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.040843s] ... ok POST: /v1/allocations {'uuid': '889f8c34-52e6-4613-b4fa-9994ec0af493', 'resource_class': 'baremetal', 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/889f8c34-52e6-4613-b4fa-9994ec0af493 Openstack-Request-Id: req-1f8e23ea-d4ef-45b6-940c-cfd376927cd1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "889f8c34-52e6-4613-b4fa-9994ec0af493", "links": [{"href": "http://localhost/v1/allocations/889f8c34-52e6-4613-b4fa-9994ec0af493", "rel": "self"}, {"href": "http://localhost/allocations/889f8c34-52e6-4613-b4fa-9994ec0af493", "rel": "bookmark"}], "extra": {}, "last_error": null, "created_at": "2020-11-20T07:00:33.194540+00:00", "resource_class": "baremetal", "updated_at": null, "traits": [], "state": "allocating", "candidate_nodes": [], "name": null} {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.041080s] ... ok GET: /v1/allocations?sort_key=name {} GOT:{u'allocations': [{u'node_uuid': None, u'uuid': u'8b889dcb-ac56-4945-94ba-176036952992', u'links': [{u'href': u'http://localhost/v1/allocations/8b889dcb-ac56-4945-94ba-176036952992', u'rel': u'self'}, {u'href': u'http://localhost/allocations/8b889dcb-ac56-4945-94ba-176036952992', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.257110+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation1'}, {u'node_uuid': None, u'uuid': u'9e5b6eac-436e-4a7d-a6c9-1c75d922cded', u'links': [{u'href': u'http://localhost/v1/allocations/9e5b6eac-436e-4a7d-a6c9-1c75d922cded', u'rel': u'self'}, {u'href': u'http://localhost/allocations/9e5b6eac-436e-4a7d-a6c9-1c75d922cded', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.253996+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation2'}, {u'node_uuid': None, u'uuid': u'f842ecd3-a652-4bbb-a4da-08a812e2d93e', u'links': [{u'href': u'http://localhost/v1/allocations/f842ecd3-a652-4bbb-a4da-08a812e2d93e', u'rel': u'self'}, {u'href': u'http://localhost/allocations/f842ecd3-a652-4bbb-a4da-08a812e2d93e', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.250733+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation3'}]} {37} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.059485s] ... ok 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-8b8dde16-8e54-4a5d-aa93-1a85445942fc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} 2020-11-20 07:00:32.850 8229 INFO alembic.runtime.migration [req-63bd5822-8d2c-48b8-a5b9-8fb631df912a - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:32.850 8229 INFO alembic.runtime.migration [req-63bd5822-8d2c-48b8-a5b9-8fb631df912a - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef {} GOT:{u'uuid': u'f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'links': [{u'href': u'http://foo/v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'rel': u'self'}, {u'href': u'http://foo/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:32.985826+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef {} GOT:{u'uuid': u'f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'links': [{u'href': u'http://foo/v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'rel': u'self'}, {u'href': u'http://foo/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:32.985826+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef {} GOT:{u'uuid': u'f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'links': [{u'href': u'http://foo/v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'rel': u'self'}, {u'href': u'http://foo/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:32.985826+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/f6f6f537-6141-4bd6-88f5-0d3f547054ef/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {23} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.277009s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.056439s] ... ok GET: /v1/allocations?state=allocating {} GOT:{u'allocations': [{u'node_uuid': None, u'uuid': u'af7b79aa-b94a-41cd-8a84-d729ddb8fb72', u'links': [{u'href': u'http://localhost/v1/allocations/af7b79aa-b94a-41cd-8a84-d729ddb8fb72', u'rel': u'self'}, {u'href': u'http://localhost/allocations/af7b79aa-b94a-41cd-8a84-d729ddb8fb72', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.053612+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation0'}, {u'node_uuid': None, u'uuid': u'0c7ed4db-65b5-4a13-bd05-bda37ce8d3c3', u'links': [{u'href': u'http://localhost/v1/allocations/0c7ed4db-65b5-4a13-bd05-bda37ce8d3c3', u'rel': u'self'}, {u'href': u'http://localhost/allocations/0c7ed4db-65b5-4a13-bd05-bda37ce8d3c3', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.056988+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation1'}, {u'node_uuid': None, u'uuid': u'c843d7d6-53b8-4e3e-acdf-1db9e1920338', u'links': [{u'href': u'http://localhost/v1/allocations/c843d7d6-53b8-4e3e-acdf-1db9e1920338', u'rel': u'self'}, {u'href': u'http://localhost/allocations/c843d7d6-53b8-4e3e-acdf-1db9e1920338', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.060197+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': u'allocation2'}]} 2020-11-20 07:00:33.013 8209 INFO alembic.runtime.migration [req-e130359d-bafe-4edd-803b-dfa0b8b5e39c - - - - -] Context impl SQLiteImpl. 2020-11-20 07:00:33.014 8209 INFO alembic.runtime.migration [req-e130359d-bafe-4edd-803b-dfa0b8b5e39c - - - - -] Will assume non-transactional DDL. GET: /v1/allocations/328aad9a-7036-4575-ba35-395881930027 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'328aad9a-7036-4575-ba35-395881930027', u'links': [{u'href': u'http://localhost/v1/allocations/328aad9a-7036-4575-ba35-395881930027', u'rel': u'self'}, {u'href': u'http://localhost/allocations/328aad9a-7036-4575-ba35-395881930027', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.164925+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} GET: /v1/allocations/328aad9a-7036-4575-ba35-395881930027 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'328aad9a-7036-4575-ba35-395881930027', u'links': [{u'href': u'http://localhost/v1/allocations/328aad9a-7036-4575-ba35-395881930027', u'rel': u'self'}, {u'href': u'http://localhost/allocations/328aad9a-7036-4575-ba35-395881930027', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.164925+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} GET: /allocations/328aad9a-7036-4575-ba35-395881930027 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'328aad9a-7036-4575-ba35-395881930027', u'links': [{u'href': u'http://localhost/v1/allocations/328aad9a-7036-4575-ba35-395881930027', u'rel': u'self'}, {u'href': u'http://localhost/allocations/328aad9a-7036-4575-ba35-395881930027', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.164925+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.332343s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.066937s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce9aee3e-fcf6-4c5e-9829-d2d2632389b2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2"}, "created_at": "2020-11-20T07:00:33.177958+00:00", "updated_at": "2020-11-20T07:00:33.205245+00:00", "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'bar2'}, u'created_at': u'2020-11-20T07:00:33.177958+00:00', u'updated_at': u'2020-11-20T07:00:33.205245+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {31} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.108793s] ... ok 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-cabc4e43-e308-4abb-89c9-d9c57440c7e4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.069281s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name [0.013663s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_name [0.011553s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class [0.013201s] ... ok GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} GET: /v1/chassis?detail=False {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties [0.012246s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.055538s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.015670s] ... ok GET: /v1/conductors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-714909a8-62be-47e3-ad3c-da8d934a8712 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.036262s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c1a713e9-ccd5-4f8c-b5d6-c83b4e53caf7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.039558s] ... ok GET: /v1/deploy_templates/cd757629-2a80-4d82-b3d7-c03b18fd102d {} GOT:{u'uuid': u'cd757629-2a80-4d82-b3d7-c03b18fd102d', u'links': [{u'href': u'http://localhost/v1/deploy_templates/cd757629-2a80-4d82-b3d7-c03b18fd102d', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/cd757629-2a80-4d82-b3d7-c03b18fd102d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.169750+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'password': u'******', u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.051991s] ... ok POST: /v1/allocations {'uuid': '9fa1a706-4dbd-4262-932f-94bb8843b9ef', 'resource_class': 'baremetal', 'extra': {'foo': 123}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/9fa1a706-4dbd-4262-932f-94bb8843b9ef Openstack-Request-Id: req-ff076532-fe1c-450b-aea8-bb69324ff1ec X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": null, "uuid": "9fa1a706-4dbd-4262-932f-94bb8843b9ef", "links": [{"href": "http://localhost/v1/allocations/9fa1a706-4dbd-4262-932f-94bb8843b9ef", "rel": "self"}, {"href": "http://localhost/allocations/9fa1a706-4dbd-4262-932f-94bb8843b9ef", "rel": "bookmark"}], "extra": {"foo": 123}, "last_error": null, "created_at": "2020-11-20T07:00:33.045152+00:00", "resource_class": "baremetal", "updated_at": null, "traits": [], "state": "allocating", "candidate_nodes": [], "name": null} GET: /v1/allocations/9fa1a706-4dbd-4262-932f-94bb8843b9ef {} GOT:{u'node_uuid': None, u'uuid': u'9fa1a706-4dbd-4262-932f-94bb8843b9ef', u'links': [{u'href': u'http://localhost/v1/allocations/9fa1a706-4dbd-4262-932f-94bb8843b9ef', u'rel': u'self'}, {u'href': u'http://localhost/allocations/9fa1a706-4dbd-4262-932f-94bb8843b9ef', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'last_error': None, u'created_at': u'2020-11-20T07:00:33.045152+00:00', u'resource_class': u'baremetal', u'updated_at': None, u'traits': [], u'state': u'allocating', u'candidate_nodes': [], u'name': None} DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 204 No Content Openstack-Request-Id: req-191b3d27-b6e8-4216-88dc-7c3eb9c49742 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.062665s] ... ok DELETE: /v1/deploy_templates/03ebf29d-aef3-472a-923d-0d3d7ceb4f93 GOT:Response: 204 No Content Openstack-Request-Id: req-371f9eec-cd01-4f6d-8cbb-e200d6cb63e2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 PATCH: /v1/deploy_templates/cd05fde4-c7b3-48f9-907b-11d4a8e806e9 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"The API version does not allow deploy templates\", \"title\": \"Method Not Allowed\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.063135s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.037919s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.063206s] ... ok GET: /v1/deploy_templates/?limit=3 {} GOT:{u'deploy_templates': [{u'uuid': u'26151fca-5177-421e-ba53-f488f112d5de', u'links': [{u'href': u'http://localhost/v1/deploy_templates/26151fca-5177-421e-ba53-f488f112d5de', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/26151fca-5177-421e-ba53-f488f112d5de', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT0'}, {u'uuid': u'5c82b38f-dee4-4bb5-b2c9-ac87c85f5d12', u'links': [{u'href': u'http://localhost/v1/deploy_templates/5c82b38f-dee4-4bb5-b2c9-ac87c85f5d12', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/5c82b38f-dee4-4bb5-b2c9-ac87c85f5d12', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}, {u'uuid': u'aa5a0a5a-5522-4e37-83cf-658c6ad32467', u'links': [{u'href': u'http://localhost/v1/deploy_templates/aa5a0a5a-5522-4e37-83cf-658c6ad32467', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/aa5a0a5a-5522-4e37-83cf-658c6ad32467', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT2'}], u'next': u'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=aa5a0a5a-5522-4e37-83cf-658c6ad32467'} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDeployTemplateObject.test_deploy_template_init [0.012180s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.082564s] ... ok GET: /v1/chassis?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b385b6f-b4e4-4175-bffe-35b58fe210fb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.038083s] ... ok GET: /v1/deploy_templates {} GOT:{u'deploy_templates': [{u'uuid': u'742f3555-4e62-48ce-8c43-97461dfc8a68', u'links': [{u'href': u'http://localhost/v1/deploy_templates/742f3555-4e62-48ce-8c43-97461dfc8a68', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/742f3555-4e62-48ce-8c43-97461dfc8a68', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT0'}, {u'uuid': u'ca288fc1-8b50-4e9d-9253-45eada4eed76', u'links': [{u'href': u'http://localhost/v1/deploy_templates/ca288fc1-8b50-4e9d-9253-45eada4eed76', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/ca288fc1-8b50-4e9d-9253-45eada4eed76', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}, {u'uuid': u'7563e9d2-adad-49ba-bec6-deca1e56138c', u'links': [{u'href': u'http://localhost/v1/deploy_templates/7563e9d2-adad-49ba-bec6-deca1e56138c', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/7563e9d2-adad-49ba-bec6-deca1e56138c', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT2'}, {u'uuid': u'bdcd78a2-36c2-446e-97c0-9d738cff1ee9', u'links': [{u'href': u'http://localhost/v1/deploy_templates/bdcd78a2-36c2-446e-97c0-9d738cff1ee9', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/bdcd78a2-36c2-446e-97c0-9d738cff1ee9', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT3'}, {u'uuid': u'b8ac2a20-ea12-4d09-bb4e-6dfff60eb45d', u'links': [{u'href': u'http://localhost/v1/deploy_templates/b8ac2a20-ea12-4d09-bb4e-6dfff60eb45d', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/b8ac2a20-ea12-4d09-bb4e-6dfff60eb45d', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT4'}]} {12} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.087282s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'uuid': '2f0f1a2e-c478-4e9d-875a-2e73088bb332', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"\", \"title\": \"Method Not Allowed\"}"} {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.037060s] ... ok GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-534413bf-8e80-4c78-b8c0-60b5c00c0fda X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\"}"} {9} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.078657s] ... ok GET: /v1/drivers/nope {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8cb3fd3-5c31-4c0e-8426-d38c5e5910b1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): nope.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.040190s] ... ok DELETE: /v1/deploy_templates/230ca574-0c72-4d56-a333-5b73e58b413d.json GOT:Response: 204 No Content Openstack-Request-Id: req-93e1f4b8-f228-4c38-9327-c7603b9dd92c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {31} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.063695s] ... ok DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3dfe3b91-43f8-491a-aa10-9bd9af99b462 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {37} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.039134s] ... ok PATCH: /v1/deploy_templates/ee0d3446-8887-4809-90b3-6a732d767fbb [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9873d36-ce7e-4083-b1a7-dc8dd011a6e0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {32} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.046117s] ... ok POST: /v1/allocations {'node_uuid': '5862136c-42de-4a36-9ae9-b932b79083c4', 'uuid': '5414e1dc-a89d-4bff-b1ee-4eb2038c22fe', 'resource_class': 'baremetal', 'extra': {}, 'traits': [], 'candidate_nodes': [], 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eafea406-8309-451f-9acd-8c1297f0e2c5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '5862136c-42de-4a36-9ae9-b932b79083c4'. Cannot set read only field.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_with_node_uuid_not_allowed [0.036687s] ... ok GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.820316+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.820316+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {33} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.142454s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-844ce1ad-5d07-4930-bf9b-9474c1a7fefc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {26} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.042051s] ... ok 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-22779e06-38e1-480d-a6e5-41617d9c0257 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {24} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.043730s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '40664910-39e8-4b79-9ae1-b63977d9c9c3', 'name': 'not-a-trait'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3939bbff-d509-4959-9c70-6e0f5a8328e7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"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 _\"}"} {36} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.036488s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.031011s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': u'\u0430\u043c\u043e', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-184cc5da-ea3a-46a7-83c6-02be9d6ffc7e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.177251+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "\u0430\u043c\u043e"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.177251+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'\u0430\u043c\u043e'} {17} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.051282s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'c7bad33f-ed96-4366-bb23-a352947dacd6', 'name': 'HW_CPU_X86_VMX'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/c7bad33f-ed96-4366-bb23-a352947dacd6 Openstack-Request-Id: req-ba84c849-5ad5-437a-a2b4-9906f8ba6339 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "c7bad33f-ed96-4366-bb23-a352947dacd6", "links": [{"href": "http://localhost/v1/deploy_templates/c7bad33f-ed96-4366-bb23-a352947dacd6", "rel": "self"}, {"href": "http://localhost/deploy_templates/c7bad33f-ed96-4366-bb23-a352947dacd6", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.259164+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "HW_CPU_X86_VMX"} {27} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.044420s] ... ok GET: /v1/deploy_templates?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-deb18909-6824-4764-b8ce-444bf96dcc2b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.041172s] ... ok POST: /v1/chassis {'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/9a56d6a7-5961-4a0f-9c91-ad252b4a9b79 Openstack-Request-Id: req-8b3d43c6-8836-409d-b732-539f0ff82d18 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9a56d6a7-5961-4a0f-9c91-ad252b4a9b79", "links": [{"href": "http://localhost/v1/chassis/9a56d6a7-5961-4a0f-9c91-ad252b4a9b79", "rel": "self"}, {"href": "http://localhost/chassis/9a56d6a7-5961-4a0f-9c91-ad252b4a9b79", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.077131+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/9a56d6a7-5961-4a0f-9c91-ad252b4a9b79/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9a56d6a7-5961-4a0f-9c91-ad252b4a9b79/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'9a56d6a7-5961-4a0f-9c91-ad252b4a9b79', u'links': [{u'href': u'http://localhost/v1/chassis/9a56d6a7-5961-4a0f-9c91-ad252b4a9b79', u'rel': u'self'}, {u'href': u'http://localhost/chassis/9a56d6a7-5961-4a0f-9c91-ad252b4a9b79', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {22} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.060861s] ... ok POST: /v1/events {'events': [{'UNKNOWN': 'EVENT_PROPERTY', 'event': 'network.unbind_port'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96fb256f-09f4-40a9-abcf-3f12486c0e97 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"UNKNOWN are invalid keys\"}"} {9} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.033771s] ... ok GET: /v1/portgroups?node=test-node {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'5b6310cf-be8e-4cde-89be-7221f2eae656', u'links': [{u'href': u'http://localhost/v1/portgroups/5b6310cf-be8e-4cde-89be-7221f2eae656', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/5b6310cf-be8e-4cde-89be-7221f2eae656', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'2c227f89-019d-4b6f-8b14-7d8048e66fe3', u'links': [{u'href': u'http://localhost/v1/portgroups/2c227f89-019d-4b6f-8b14-7d8048e66fe3', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/2c227f89-019d-4b6f-8b14-7d8048e66fe3', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'b5cdf78d-0430-410b-8dd1-07b862250b94', u'links': [{u'href': u'http://localhost/v1/portgroups/b5cdf78d-0430-410b-8dd1-07b862250b94', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/b5cdf78d-0430-410b-8dd1-07b862250b94', u'rel': u'bookmark'}], u'name': u'portgroup2'}]} {34} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.097937s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.745603+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {38} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.066646s] ... ok GET: /v1/deploy_templates?detail=True {} GOT:{u'deploy_templates': [{u'uuid': u'ad7baad0-f043-4175-bf64-b59abaa3e143', u'links': [{u'href': u'http://localhost/v1/deploy_templates/ad7baad0-f043-4175-bf64-b59abaa3e143', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/ad7baad0-f043-4175-bf64-b59abaa3e143', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.184844+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'}]} {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.065221s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'a267a7f3-37b3-485a-9b6b-6d530ce45686', 'name': 42} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ef44b32-6cb0-4780-b51f-41563b3fd744 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute name. Value: '42'. Wrong type. Expected '', got ''\"}"} {30} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.037460s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-47d9aa11-b07a-4e6f-9aab-2c0563bd3443 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c197da69-2533-4728-9605-b15d1aeba865 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-644f39bd-fa8f-4d18-9dc7-4fa64bf2ff1e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.115073s] ... ok GET: /v1/deploy_templates {} GOT:{u'deploy_templates': []} {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.044159s] ... ok GET: /v1/conductors?sort_key=hostname {} GOT:{u'conductors': [{u'hostname': u'596b0950-97b8-403c-9f5a-bfaa642afee3', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/596b0950-97b8-403c-9f5a-bfaa642afee3', u'rel': u'self'}, {u'href': u'http://localhost/conductors/596b0950-97b8-403c-9f5a-bfaa642afee3', u'rel': u'bookmark'}]}, {u'hostname': u'94bdd474-84ec-4a14-98be-ff1a2d99f026', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/94bdd474-84ec-4a14-98be-ff1a2d99f026', u'rel': u'self'}, {u'href': u'http://localhost/conductors/94bdd474-84ec-4a14-98be-ff1a2d99f026', u'rel': u'bookmark'}]}, {u'hostname': u'9f0d7d77-1587-4151-ac87-8ab02f8c4421', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/9f0d7d77-1587-4151-ac87-8ab02f8c4421', u'rel': u'self'}, {u'href': u'http://localhost/conductors/9f0d7d77-1587-4151-ac87-8ab02f8c4421', u'rel': u'bookmark'}]}, {u'hostname': u'a7c586d0-6c1e-4196-bfa8-0df8167bb739', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/a7c586d0-6c1e-4196-bfa8-0df8167bb739', u'rel': u'self'}, {u'href': u'http://localhost/conductors/a7c586d0-6c1e-4196-bfa8-0df8167bb739', u'rel': u'bookmark'}]}, {u'hostname': u'b4d05ec4-ac39-4316-b44d-acaba1a0b90b', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/b4d05ec4-ac39-4316-b44d-acaba1a0b90b', u'rel': u'self'}, {u'href': u'http://localhost/conductors/b4d05ec4-ac39-4316-b44d-acaba1a0b90b', u'rel': u'bookmark'}]}]} {14} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.065850s] ... ok GET: /v1/conductors/rocky.rocks?fields=hostname,alive {} GOT:{u'hostname': u'rocky.rocks', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/rocky.rocks', u'rel': u'bookmark'}]} {24} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.047054s] ... ok PATCH: /v1/deploy_templates/638248f8-0d1d-4451-8a9b-44f30a0c37b6 [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-606f7ebe-1dfd-4559-9242-ddaf8680e725 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/0/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {12} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.064190s] ... ok GET: /v1/deploy_templates?sort_key=name&detail=True {} GOT:{u'deploy_templates': [{u'uuid': u'bf40b3cf-4811-44e0-b093-70e74339194f', u'links': [{u'href': u'http://localhost/v1/deploy_templates/bf40b3cf-4811-44e0-b093-70e74339194f', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/bf40b3cf-4811-44e0-b093-70e74339194f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.210177+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'}, {u'uuid': u'a072c61b-752b-4567-aa3b-b5ae610aa930', u'links': [{u'href': u'http://localhost/v1/deploy_templates/a072c61b-752b-4567-aa3b-b5ae610aa930', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/a072c61b-752b-4567-aa3b-b5ae610aa930', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.205482+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT2'}, {u'uuid': u'6fd7c071-4350-400a-86fb-109659f3d109', u'links': [{u'href': u'http://localhost/v1/deploy_templates/6fd7c071-4350-400a-86fb-109659f3d109', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/6fd7c071-4350-400a-86fb-109659f3d109', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.197188+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT3'}]} {16} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.073710s] ... ok PATCH: /v1/nodes/1a2dd3b8-dfe8-445d-a9fb-412ca96c60f9 [{'path': '/fault', 'value': 'why care', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3bb54237-6f86-4ecc-a570-98983810021c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/fault' is an internal attribute and can not be updated\"}"} {33} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.063671s] ... ok GET: /v1/conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://localhost/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.465190+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.463829+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']} GET: /v1/conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://localhost/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.465190+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.463829+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']} GET: /conductors/rocky.rocks {} GOT:{u'links': [{u'href': u'http://localhost/v1/conductors/rocky.rocks', u'rel': u'self'}, {u'href': u'http://localhost/conductors/rocky.rocks', u'rel': u'bookmark'}], u'created_at': u'2020-11-20T07:00:33.465190+00:00', u'hostname': u'rocky.rocks', u'conductor_group': u'', u'updated_at': u'2020-11-20T07:00:33.463829+00:00', u'alive': True, u'drivers': [u'fake-driver', u'null-driver']} {11} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.068374s] ... ok PATCH: /v1/deploy_templates/90b5d865-1725-41da-b4fa-ad5a532d3120 [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08cdf680-43cb-44a5-8d03-fa1ac5e74663 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "90b5d865-1725-41da-b4fa-ad5a532d3120", "links": [{"href": "http://localhost/v1/deploy_templates/90b5d865-1725-41da-b4fa-ad5a532d3120", "rel": "self"}, {"href": "http://localhost/deploy_templates/90b5d865-1725-41da-b4fa-ad5a532d3120", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.222571+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "HW_CPU_X86_VMX"} {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.052099s] ... ok GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{u'foo': u'bar'} {12} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.081706s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'foo', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '4a238a0a-6aeb-4eee-be9d-4a7774dff284', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c82c11d-718d-4433-bf77-abbbf6888ea9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: bios, management, raid, power, deploy\"}"} {31} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.036909s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2e83b117-cbb9-4e18-ad77-d74bfcf405ea X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.043789s] ... ok GET: /v1/deploy_templates/45580719-2e32-4abd-a9d2-bd03432fc17a?fields=name,steps {} GOT:{u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1', u'links': [{u'href': u'http://localhost/v1/deploy_templates/45580719-2e32-4abd-a9d2-bd03432fc17a', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/45580719-2e32-4abd-a9d2-bd03432fc17a', u'rel': u'bookmark'}]} GET: /v1/nodes?conductor=rocky.rocks {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f7a65e1e-ac0b-4586-9c96-915f08db3482 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.041487s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.047673s] ... ok GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1632d382-ff87-476a-a54e-b1dc84c35624 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node ports could not be found.\"}"} {38} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.054610s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80a874cd-c08c-4f5d-9619-7476df1e46c1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2020-11-20T07:00:34.258177+00:00", "updated_at": "2020-11-20T07:00:34.265848+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} PATCH: /v1/deploy_templates/429423a7-2b36-4a3e-b085-4bad4ee9161b [{'path': '/name', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3fd276e8-0d54-419a-8f20-1c73f13acffe X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"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 _\"}"} {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.076699s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.098211s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 'not a number', 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '22a39d3d-ff55-4bb2-a4af-af282dcdc74c', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f70537e-9c78-4a68-86f2-62cb7a8342ad X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'steps': [{'priority': 'not a number', 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '22a39d3d-ff55-4bb2-a4af-af282dcdc74c', 'name': 'CUSTOM_DT1', 'extra': {}}'. invalid literal for int() with base 10: 'not a number'\"}"} {32} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.034774s] ... ok DELETE: /v1/deploy_templates/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-214e71a0-8b69-4086-8158-2d7818e0f39e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.079329s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.225186+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis?fields=uuid,extra {} GOT:{u'chassis': [{u'uuid': u'd9d0f6c8-51c5-43b1-907e-1c527a7b5d65', u'links': [{u'href': u'http://localhost/v1/chassis/d9d0f6c8-51c5-43b1-907e-1c527a7b5d65', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d9d0f6c8-51c5-43b1-907e-1c527a7b5d65', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'241a374c-2f72-43f8-8381-f19a2ee56b69', u'links': [{u'href': u'http://localhost/v1/chassis/241a374c-2f72-43f8-8381-f19a2ee56b69', u'rel': u'self'}, {u'href': u'http://localhost/chassis/241a374c-2f72-43f8-8381-f19a2ee56b69', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'b20687ae-5e76-4d14-ae85-7d80f229d6d9', u'links': [{u'href': u'http://localhost/v1/chassis/b20687ae-5e76-4d14-ae85-7d80f229d6d9', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b20687ae-5e76-4d14-ae85-7d80f229d6d9', u'rel': u'bookmark'}], u'extra': {}}]} {37} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.051584s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.041728s] ... ok GET: /v1/conductors?fields=hostname,alive {} GOT:{u'conductors': [{u'hostname': u'4d7db1ce-f413-43a3-92f0-87ca0e76c32b', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/4d7db1ce-f413-43a3-92f0-87ca0e76c32b', u'rel': u'self'}, {u'href': u'http://localhost/conductors/4d7db1ce-f413-43a3-92f0-87ca0e76c32b', u'rel': u'bookmark'}]}, {u'hostname': u'3e933d78-c624-43ee-b41b-64fa95cac4f5', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/3e933d78-c624-43ee-b41b-64fa95cac4f5', u'rel': u'self'}, {u'href': u'http://localhost/conductors/3e933d78-c624-43ee-b41b-64fa95cac4f5', u'rel': u'bookmark'}]}, {u'hostname': u'cb383c21-d9cd-4027-b842-19f7cd253473', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/cb383c21-d9cd-4027-b842-19f7cd253473', u'rel': u'self'}, {u'href': u'http://localhost/conductors/cb383c21-d9cd-4027-b842-19f7cd253473', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=cb383c21-d9cd-4027-b842-19f7cd253473'} {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.076271s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '0787c3e8-639e-484c-949d-8eeb33b047f1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b30f3976-a8e4-4c5b-9505-29f397d294c7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: id\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.057014s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'foo': 123}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-1a93ca58-daec-4b12-ac9c-3f69220fb25f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2020-11-20T07:00:33.364843+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2020-11-20T07:00:33.364843+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.054720s] ... ok GET: /v1/deploy_templates {} GOT:{u'deploy_templates': [{u'uuid': u'29c9e7b3-dee6-4474-8a0b-0f5459bc5505', u'links': [{u'href': u'http://localhost/v1/deploy_templates/29c9e7b3-dee6-4474-8a0b-0f5459bc5505', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/29c9e7b3-dee6-4474-8a0b-0f5459bc5505', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}]} {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.060711s] ... ok GET: /v1/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837 {} GOT:{u'uuid': u'd9cffceb-8dda-480e-baf9-5f32786d8837', u'links': [{u'href': u'http://localhost/v1/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.162906+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} GET: /v1/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837 {} GOT:{u'uuid': u'd9cffceb-8dda-480e-baf9-5f32786d8837', u'links': [{u'href': u'http://localhost/v1/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.162906+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} GET: /deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837 {} GOT:{u'uuid': u'd9cffceb-8dda-480e-baf9-5f32786d8837', u'links': [{u'href': u'http://localhost/v1/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/d9cffceb-8dda-480e-baf9-5f32786d8837', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.162906+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} {21} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.085150s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': [3], 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'bf552615-7472-4ae6-932b-cf68f5256bed', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81749e65-63d8-4a0e-92cc-f8a25d22ae21 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: '[3]'. unhashable type: 'list'\"}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {30} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.044438s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.037331s] ... ok GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'07a597cf-1a5a-4847-b6df-454c568f314d', u'links': [{u'href': u'http://localhost/v1/chassis/07a597cf-1a5a-4847-b6df-454c568f314d', u'rel': u'self'}, {u'href': u'http://localhost/chassis/07a597cf-1a5a-4847-b6df-454c568f314d', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'7376834a-92e1-4471-a2a1-95274ce3ebd4', u'links': [{u'href': u'http://localhost/v1/chassis/7376834a-92e1-4471-a2a1-95274ce3ebd4', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7376834a-92e1-4471-a2a1-95274ce3ebd4', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'8b75072e-6cef-417d-81ca-99966994bf1f', u'links': [{u'href': u'http://localhost/v1/chassis/8b75072e-6cef-417d-81ca-99966994bf1f', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8b75072e-6cef-417d-81ca-99966994bf1f', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'4fd99c7b-dc79-46d1-9723-8266daf1c2a1', u'links': [{u'href': u'http://localhost/v1/chassis/4fd99c7b-dc79-46d1-9723-8266daf1c2a1', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4fd99c7b-dc79-46d1-9723-8266daf1c2a1', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'edea599d-dc41-4f81-bd99-996e81471e31', u'links': [{u'href': u'http://localhost/v1/chassis/edea599d-dc41-4f81-bd99-996e81471e31', u'rel': u'self'}, {u'href': u'http://localhost/chassis/edea599d-dc41-4f81-bd99-996e81471e31', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} PATCH: /v1/deploy_templates/7e3d3164-bbe1-4cae-8e11-57010e40a943 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aa81870c-08f5-4a34-8a1d-a681d5b25eeb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {39} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.058679s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.052265s] ... ok GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-901d590b-4f9f-4576-a1fa-47f37c861f08 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {12} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.033130s] ... ok GET: /v1/deploy_templates/37894599-e18e-4936-9eb3-2a5e8241869e {} GOT:{u'uuid': u'37894599-e18e-4936-9eb3-2a5e8241869e', u'links': [{u'href': u'http://localhost/v1/deploy_templates/37894599-e18e-4936-9eb3-2a5e8241869e', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/37894599-e18e-4936-9eb3-2a5e8241869e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.446656+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} {24} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.055848s] ... ok PATCH: /v1/deploy_templates/98e5c96f-f51e-4101-9404-acc330102790 [{'path': '/steps/0', 'value': {'interface': 'raid', 'priority': 11, 'step': 'create_configuration0', 'args': {}}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'priority': 11, 'step': 'create_configuration1', 'args': {}}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'priority': 11, 'step': 'create_configuration2', 'args': {}}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ba2297d-cc20-453b-a0f3-1f94f020ddf0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "98e5c96f-f51e-4101-9404-acc330102790", "links": [{"href": "http://localhost/v1/deploy_templates/98e5c96f-f51e-4101-9404-acc330102790", "rel": "self"}, {"href": "http://localhost/deploy_templates/98e5c96f-f51e-4101-9404-acc330102790", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.175456+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 11, "step": "create_configuration0", "args": {}}, {"interface": "raid", "priority": 11, "step": "create_configuration1", "args": {}}, {"interface": "raid", "priority": 11, "step": "create_configuration2", "args": {}}], "name": "CUSTOM_DT2"} {25} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.059754s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-47766ef7-2144-4b9f-8674-fd5a42c43f7b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.050590s] ... ok GET: /v1/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.036575s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.000963+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {34} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.061225s] ... ok PATCH: /v1/nodes/736d658f-8a0a-41c7-a9d7-279f850156bc [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-87ddb762-687f-4027-b601-d301b977aca9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/736d658f-8a0a-41c7-a9d7-279f850156bc", "rel": "self"}, {"href": "http://localhost/nodes/736d658f-8a0a-41c7-a9d7-279f850156bc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/736d658f-8a0a-41c7-a9d7-279f850156bc/states", "rel": "self"}, {"href": "http://localhost/nodes/736d658f-8a0a-41c7-a9d7-279f850156bc/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "736d658f-8a0a-41c7-a9d7-279f850156bc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2020-11-20T07:00:34.085861+00:00", "ports": [{"href": "http://localhost/v1/nodes/736d658f-8a0a-41c7-a9d7-279f850156bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/736d658f-8a0a-41c7-a9d7-279f850156bc/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.091358s] ... ok GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {37} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.044564s] ... ok GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} {30} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.062129s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '12cd90b7-5e2b-4d20-a5ad-b2bc552d3564', 'name': u'CUSTOM_DT1'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/12cd90b7-5e2b-4d20-a5ad-b2bc552d3564 Openstack-Request-Id: req-2cf62f05-e091-44b8-b7b0-8a7c44f28418 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "12cd90b7-5e2b-4d20-a5ad-b2bc552d3564", "links": [{"href": "http://localhost/v1/deploy_templates/12cd90b7-5e2b-4d20-a5ad-b2bc552d3564", "rel": "self"}, {"href": "http://localhost/deploy_templates/12cd90b7-5e2b-4d20-a5ad-b2bc552d3564", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.133094+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT1"} GET: /v1/deploy_templates/12cd90b7-5e2b-4d20-a5ad-b2bc552d3564 {} GOT:{u'uuid': u'12cd90b7-5e2b-4d20-a5ad-b2bc552d3564', u'links': [{u'href': u'http://localhost/v1/deploy_templates/12cd90b7-5e2b-4d20-a5ad-b2bc552d3564', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/12cd90b7-5e2b-4d20-a5ad-b2bc552d3564', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.133094+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-81ece066-1d2d-4530-b7f5-5eaf03f68fae X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to get the BIOS settings for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. {13} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.066814s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.052178s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-939f8ba0-3142-4e05-b9cb-6496694f1579 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {38} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.057417s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-1273f67c-0409-484b-93b6-915b9d892486 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {31} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.035059s] ... ok 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-23f2bab6-ef65-4def-863c-2b8369e773ad X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.261021+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "chassis-new-description"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.261021+00:00', u'updated_at': u'2000-01-01T00:00:00+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'chassis-new-description'} {10} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.063103s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6230d846-4e0b-46b2-9116-93691ad4ee38 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for device_id. Expected a UUID but received DEVICE_ID_SHOULD_BE_UUID.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.035545s] ... ok GET: /v1/drivers?type=classic {} GOT:{u'drivers': []} {13} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.054122s] ... ok PATCH: /v1/deploy_templates/f7b57d47-fdd5-4441-adc8-82ccfe4c7be5 [{'path': '/foo', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0dc97318-41b1-4e7b-9b83-0ab5487f0723 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/foo', 'op': 'remove'}'. Reason: can't remove non-existent object 'foo'\"}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.063597s] ... ok GET: /v1/nodes?instance_uuid=107d89a4-1341-4985-baa5-a760b1e663a5 {} GOT:{u'nodes': [{u'instance_uuid': u'107d89a4-1341-4985-baa5-a760b1e663a5', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9d5057a6-498d-45eb-b8f9-47fb101eee9e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9d5057a6-498d-45eb-b8f9-47fb101eee9e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9d5057a6-498d-45eb-b8f9-47fb101eee9e'}]} {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.078596s] ... ok GET: /v1/allocations?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8944f374-b1f2-4cb4-a0e0-3aeb303d128f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/allocations?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca6298c9-43fe-415c-90dc-1c66bda5c178 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/allocations?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9125ba7-150b-4b4f-a5e4-13f0f6eccc49 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"internal_info\\\" is an invalid field for sorting\"}"} GET: /v1/allocations?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5b3bf1ac-5b6e-4ae4-9c55-f69199945f04 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\"}"} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.063415s] ... ok PATCH: /v1/deploy_templates/03d450f4-9d5d-4890-815c-3cb20625cd28 [{'path': '/name', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11234714-229b-4364-a892-91087f1da953 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/name' is a mandatory attribute and can not be removed\"}"} {21} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.044215s] ... ok GET: /v1/deploy_templates {} GOT:{u'deploy_templates': [{u'uuid': u'fa1fac8c-bac6-41b9-a6f0-ba737adf7080', u'links': [{u'href': u'http://localhost/v1/deploy_templates/fa1fac8c-bac6-41b9-a6f0-ba737adf7080', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/fa1fac8c-bac6-41b9-a6f0-ba737adf7080', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT0'}, {u'uuid': u'a60bd652-b5fe-4922-a24a-7945cdaf138d', u'links': [{u'href': u'http://localhost/v1/deploy_templates/a60bd652-b5fe-4922-a24a-7945cdaf138d', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/a60bd652-b5fe-4922-a24a-7945cdaf138d', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}, {u'uuid': u'a3d1139f-5064-4ccb-8507-dbe41e32527c', u'links': [{u'href': u'http://localhost/v1/deploy_templates/a3d1139f-5064-4ccb-8507-dbe41e32527c', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/a3d1139f-5064-4ccb-8507-dbe41e32527c', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT2'}], u'next': u'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=a3d1139f-5064-4ccb-8507-dbe41e32527c'} {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.083793s] ... ok GET: /v1/deploy_templates?sort_key=name&detail=False {} GOT:{u'deploy_templates': [{u'uuid': u'4eb33cbc-d7e9-4b18-84a3-934c11229bda', u'links': [{u'href': u'http://localhost/v1/deploy_templates/4eb33cbc-d7e9-4b18-84a3-934c11229bda', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/4eb33cbc-d7e9-4b18-84a3-934c11229bda', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}, {u'uuid': u'3ecf10b9-a9b4-41c1-981b-d75375180bf1', u'links': [{u'href': u'http://localhost/v1/deploy_templates/3ecf10b9-a9b4-41c1-981b-d75375180bf1', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/3ecf10b9-a9b4-41c1-981b-d75375180bf1', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT2'}, {u'uuid': u'92eb85ac-be84-4447-8adb-85fa9d9cb8ec', u'links': [{u'href': u'http://localhost/v1/deploy_templates/92eb85ac-be84-4447-8adb-85fa9d9cb8ec', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/92eb85ac-be84-4447-8adb-85fa9d9cb8ec', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT3'}]} {16} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.069113s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-7133e0e8-a778-4597-a9b9-d55382795576 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2020-11-20T07:00:33.067346+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2020-11-20T07:00:33.067346+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.052737s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': {}, 'uuid': '1386fd02-93de-4419-b79f-2326f3e313db', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-032a6415-d944-413b-8568-d61b7d96e0bf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'steps': {}, 'uuid': '1386fd02-93de-4419-b79f-2326f3e313db', 'name': 'CUSTOM_DT1', 'extra': {}}'. Value not a valid list: {}\"}"} {4} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.036572s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': []}], 'uuid': '89a8c6e9-2c34-4055-887b-a572ae9e64bf', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0a6e4b63-d18b-476c-9fa3-2b901b2baf51 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': []}], 'uuid': '89a8c6e9-2c34-4055-887b-a572ae9e64bf', 'name': 'CUSTOM_DT1', 'extra': {}}'. Value not a valid dict: []\"}"} {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.035904s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-41f5f0a6-a180-4ff2-9251-2b89c8072328 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} PATCH: /v1/deploy_templates/a628d8ed-b5fd-4427-8c26-5047dbaa72b3 [{'path': '/steps/2', 'value': {'interface': 'bios', 'priority': 42, 'step': 'apply_configuration', 'args': {'foo': 'bar'}}, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a42cea4-656b-4dc1-b4c8-dc20ce9dacd8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/2', 'value': {'interface': 'bios', 'priority': 42, 'step': 'apply_configuration', 'args': {'foo': 'bar'}}, 'op': 'add'}'. Reason: can't insert outside of list\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.067744s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.060947s] ... ok GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{u'deploy_templates': [{u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'uuid': u'4d88785e-d684-4ca8-acf3-acda1b38c3b4', u'links': [{u'href': u'http://localhost/v1/deploy_templates/4d88785e-d684-4ca8-acf3-acda1b38c3b4', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/4d88785e-d684-4ca8-acf3-acda1b38c3b4', u'rel': u'bookmark'}]}, {u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'uuid': u'fac58732-af09-47a0-83f9-b08e81ab0689', u'links': [{u'href': u'http://localhost/v1/deploy_templates/fac58732-af09-47a0-83f9-b08e81ab0689', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/fac58732-af09-47a0-83f9-b08e81ab0689', u'rel': u'bookmark'}]}, {u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'uuid': u'd993c876-1d4e-4692-86c9-d487809dc13b', u'links': [{u'href': u'http://localhost/v1/deploy_templates/d993c876-1d4e-4692-86c9-d487809dc13b', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/d993c876-1d4e-4692-86c9-d487809dc13b', u'rel': u'bookmark'}]}]} {22} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.075359s] ... ok POST: /v1/deploy_templates {'extra': 42, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'ab5c8c0c-c756-49f3-af21-2b031d0ae8b2', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-61040356-6063-400b-b2c4-4ba000708711 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'ab5c8c0c-c756-49f3-af21-2b031d0ae8b2', 'name': 'CUSTOM_DT1', 'extra': 42}'. Value not a valid dict: 42\"}"} {14} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.035435s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '278c3a21-7055-48fb-b8b8-6340a4918880', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3d45ffc-d989-4485-9890-40f6ac30b48e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute priority. Value: 'None'. Mandatory field missing.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.038007s] ... ok PATCH: /v1/deploy_templates/a9537947-ef9e-4fc9-bfd1-115ac4b5080d [{'path': '/name', 'value': 'not-a-trait', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12b4e134-b872-4abe-8299-796daab10f59 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"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 _\"}"} {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.050365s] ... ok PATCH: /v1/deploy_templates/d5b60c43-3cef-415a-83a5-84dfc8aeb7bc [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-10314866-5295-4489-bbca-765e7ceb9951 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "d5b60c43-3cef-415a-83a5-84dfc8aeb7bc", "links": [{"href": "http://localhost/v1/deploy_templates/d5b60c43-3cef-415a-83a5-84dfc8aeb7bc", "rel": "self"}, {"href": "http://localhost/deploy_templates/d5b60c43-3cef-415a-83a5-84dfc8aeb7bc", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.238641+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration0", "args": {}}, {"interface": "raid", "priority": 10, "step": "create_configuration2", "args": {}}], "name": "CUSTOM_DT2"} 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-41e2e7e1-bcd0-4cb9-931c-8adef530aa96 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.059935s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.034834s] ... ok GET: /v1/deploy_templates?fields=name&limit=2 {} GOT:{u'deploy_templates': [{u'name': u'CUSTOM_DT0', u'links': [{u'href': u'http://localhost/v1/deploy_templates/639be7cf-56e8-41a8-ba70-aef167e5d125', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/639be7cf-56e8-41a8-ba70-aef167e5d125', u'rel': u'bookmark'}]}, {u'name': u'CUSTOM_DT1', u'links': [{u'href': u'http://localhost/v1/deploy_templates/eeb45964-13c4-4877-ae77-e75824793f44', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/eeb45964-13c4-4877-ae77-e75824793f44', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=eeb45964-13c4-4877-ae77-e75824793f44'} {39} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.073895s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.019210s] ... ok DELETE: /v1/deploy_templates/CUSTOM_DT1.json GOT:Response: 204 No Content Openstack-Request-Id: req-72d62caa-704d-462f-942f-6da972f5e5b3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.058988s] ... ok GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-25ca5cd6-cd60-483a-9bf5-509dbe79d86e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.050488s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 1334, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a174ec5-6523-4270-9c35-3f4b7842831c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: '1334'. Value should be string\"}"} {23} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.034727s] ... ok PATCH: /v1/chassis/43d6ea41-8fcd-4419-add7-3065e860c122 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3ff30c13-8a3e-4d79-9d50-1056529598f3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "43d6ea41-8fcd-4419-add7-3065e860c122", "links": [{"href": "http://localhost/v1/chassis/43d6ea41-8fcd-4419-add7-3065e860c122", "rel": "self"}, {"href": "http://localhost/chassis/43d6ea41-8fcd-4419-add7-3065e860c122", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:33.278092+00:00", "updated_at": "2020-11-20T07:00:33.301346+00:00", "nodes": [{"href": "http://localhost/v1/chassis/43d6ea41-8fcd-4419-add7-3065e860c122/nodes", "rel": "self"}, {"href": "http://localhost/chassis/43d6ea41-8fcd-4419-add7-3065e860c122/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/43d6ea41-8fcd-4419-add7-3065e860c122 {} GOT:{u'uuid': u'43d6ea41-8fcd-4419-add7-3065e860c122', u'links': [{u'href': u'http://localhost/v1/chassis/43d6ea41-8fcd-4419-add7-3065e860c122', u'rel': u'self'}, {u'href': u'http://localhost/chassis/43d6ea41-8fcd-4419-add7-3065e860c122', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'new value', u'foo3': u'bar3'}, u'created_at': u'2020-11-20T07:00:33.278092+00:00', u'updated_at': u'2020-11-20T07:00:33.301346+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/43d6ea41-8fcd-4419-add7-3065e860c122/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/43d6ea41-8fcd-4419-add7-3065e860c122/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {28} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.065465s] ... ok GET: /v1/nodes?associated=true&maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': u'414deb65-e900-4334-bb94-5e3c63d16451', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/00fc843d-1033-4c73-8593-067273a31923', u'rel': u'self'}, {u'href': u'http://localhost/nodes/00fc843d-1033-4c73-8593-067273a31923', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'00fc843d-1033-4c73-8593-067273a31923'}, {u'instance_uuid': u'7bc0839a-6a38-4d62-8b69-8b3a135000dc', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c8a62ada-3d2b-4283-a02c-ca253fc0cba7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c8a62ada-3d2b-4283-a02c-ca253fc0cba7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c8a62ada-3d2b-4283-a02c-ca253fc0cba7'}, {u'instance_uuid': u'bbaab256-1c96-4c44-9d59-f08e6bc10dea', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8ef1856e-c5ba-4975-bb6a-3324034a0b06', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8ef1856e-c5ba-4975-bb6a-3324034a0b06', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8ef1856e-c5ba-4975-bb6a-3324034a0b06'}, {u'instance_uuid': u'5ba414eb-17a5-4388-ba23-94bfa193657c', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/811fea16-9dd8-4459-9b27-72034bc65ced', u'rel': u'self'}, {u'href': u'http://localhost/nodes/811fea16-9dd8-4459-9b27-72034bc65ced', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'811fea16-9dd8-4459-9b27-72034bc65ced'}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': u'f2dc1121-696e-48e6-9c80-fcd75d886238', u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes?associated=true&maintenance=TruE {} GOT:{u'nodes': [{u'instance_uuid': u'f2dc1121-696e-48e6-9c80-fcd75d886238', u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ce8d5046-7a44-4a34-9a3a-fa7e94f929c0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.280673s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.037004s] ... ok PATCH: /v1/deploy_templates/ac3a601c-84b1-4351-b5d3-74c538bd6098 [{'path': '/steps', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e61762b3-3140-4cfd-9f2e-525af7adb382 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/steps' is a mandatory attribute and can not be removed\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7d8f128a-2011-4e83-859b-cc8daf046a06 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.040673s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.115845s] ... ok POST: /v1/events {'events': [{'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0d64236b-d180-46c1-9c5e-d5bd08167edf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute events. Value: '[{'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]'. Wrong type. Expected '', got ''\"}"} {32} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.034825s] ... ok GET: /v1/deploy_templates?sort_key=uuid {} GOT:{u'deploy_templates': [{u'uuid': u'201998b2-9342-449a-9f36-48caaf890789', u'links': [{u'href': u'http://localhost/v1/deploy_templates/201998b2-9342-449a-9f36-48caaf890789', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/201998b2-9342-449a-9f36-48caaf890789', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT1'}, {u'uuid': u'21e1794e-310a-4142-809d-5095c652b1a2', u'links': [{u'href': u'http://localhost/v1/deploy_templates/21e1794e-310a-4142-809d-5095c652b1a2', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/21e1794e-310a-4142-809d-5095c652b1a2', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT2'}, {u'uuid': u'baf446a5-5b87-4bc8-8c30-53f9a97d082e', u'links': [{u'href': u'http://localhost/v1/deploy_templates/baf446a5-5b87-4bc8-8c30-53f9a97d082e', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/baf446a5-5b87-4bc8-8c30-53f9a97d082e', u'rel': u'bookmark'}], u'name': u'CUSTOM_DT0'}]} {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.076383s] ... ok 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-acc6f4b4-1332-4317-afa0-61832f6d0a4e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null PATCH: /v1/deploy_templates/17edac51-8b09-4921-9a0f-9ad09582cff2 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9a8ce8c-6e66-4a87-80fd-b6e944350dbf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\"}"} {14} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.063957s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.059464s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68f11d33-6246-47f7-a4c1-0862cd487d35 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.025649+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {33} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.088983s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.072334s] ... ok 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-e293d760-bc4e-4308-b874-c5cb9fce7546 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.427212+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.084659s] ... ok PATCH: /v1/nodes/4acad693-04db-41ee-b4b2-2c921ef8dd2f [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3974056f-3bbd-4fd6-ae1f-2b1783f6b727 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'. Value should have a maximum character requirement of 80\"}"} {38} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.083610s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.unbind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-a3b8ae7e-4a62-4d50-9c04-9d5c2dacf307 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {7} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.035073s] ... ok GET: /v1/deploy_templates/01debdac-d3c8-49c5-8dd2-f463732073ff {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"The API version does not allow deploy templates\", \"title\": \"Not Found\"}"} {23} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.037813s] ... ok GET: /v1/nodes {} GOT:{u'nodes': []} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.091252s] ... ok GET: /v1/deploy_templates/174888be-e5e8-46a8-a5a8-ecf7f3f8d215.json {} GOT:{u'uuid': u'174888be-e5e8-46a8-a5a8-ecf7f3f8d215', u'links': [{u'href': u'http://localhost/v1/deploy_templates/174888be-e5e8-46a8-a5a8-ecf7f3f8d215', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/174888be-e5e8-46a8-a5a8-ecf7f3f8d215', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.300614+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.046020s] ... ok GET: /v1/nodes/?limit=3&associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'4691d64b-204d-4c88-9bf2-6316b6d0c18d', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0de7048c-ae20-4826-938d-fc8acb2f8fa5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0de7048c-ae20-4826-938d-fc8acb2f8fa5', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'0de7048c-ae20-4826-938d-fc8acb2f8fa5'}, {u'instance_uuid': u'd017b9be-4525-4290-b8b5-2fa0069e42cb', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/343f058b-a88e-4570-80a2-56c825fdaea1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/343f058b-a88e-4570-80a2-56c825fdaea1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'343f058b-a88e-4570-80a2-56c825fdaea1'}, {u'instance_uuid': u'5c0473df-4684-46d1-b1fa-73cd902bdcfb', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9b7a34ff-fae8-4177-b4a1-6145594adf4c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9b7a34ff-fae8-4177-b4a1-6145594adf4c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9b7a34ff-fae8-4177-b4a1-6145594adf4c'}], u'next': u'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=9b7a34ff-fae8-4177-b4a1-6145594adf4c'} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.186319s] ... ok DELETE: /v1/deploy_templates/9dbbcfaa-f6bf-488e-8db4-3d93d36e7df2 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"The API version does not allow deploy templates\", \"title\": \"Method Not Allowed\"}"} {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.040930s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'b30c6691-9490-4695-a941-f4a91f8935c1', 'name': u'CUSTOM_DT1'} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"The API version does not allow deploy templates\", \"title\": \"Method Not Allowed\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.026019s] ... ok POST: /v1/deploy_templates {'foo': 'bar', 'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '005b3b11-4f3a-4f08-9124-87f05c80074b', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-983e278d-16e2-4917-bfab-4542512762fc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument template: foo\"}"} GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d5ea39c5-13e0-42d9-9763-57bbdd87dd48 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\"}"} {39} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.037586s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.035016s] ... ok GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://foo/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://foo/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://foo/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {4} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.087101s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d74622b2-a4b3-4c1b-94b1-f1f6529565be X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.059171s] ... 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-3ea66ff6-7db0-47da-a611-97b905043cce X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.057479s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ff728275-732f-40d1-9a5a-4c91d355c0e4'} GOT:Response: 204 No Content Openstack-Request-Id: req-83ee3149-aa38-44e1-b2d1-4ccd2cbcb26e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {14} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.061700s] ... ok GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0e3d6edd-255a-4a07-9d83-fd9a0d552c2b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {32} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.054151s] ... ok GET: /v1/deploy_templates {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"The API version does not allow deploy templates\", \"title\": \"Not Found\"}"} {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.028743s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-931a17d5-d769-44c9-85e1-50a2407d833e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "created_at": "2020-11-20T07:00:34.063264+00:00", "updated_at": "2020-11-20T07:00:34.117815+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "original"}, "properties": {}, "name": "fooname"} {34} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id_diff_internal [0.100724s] ... ok GET: /v1/conductors {} GOT:{u'conductors': [{u'hostname': u'903c0dfc-8b09-4413-886c-2aaacf9adc4c', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/903c0dfc-8b09-4413-886c-2aaacf9adc4c', u'rel': u'self'}, {u'href': u'http://localhost/conductors/903c0dfc-8b09-4413-886c-2aaacf9adc4c', u'rel': u'bookmark'}]}, {u'hostname': u'd6eb4261-177c-4bc4-90e8-1ae93a0ddbcc', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/d6eb4261-177c-4bc4-90e8-1ae93a0ddbcc', u'rel': u'self'}, {u'href': u'http://localhost/conductors/d6eb4261-177c-4bc4-90e8-1ae93a0ddbcc', u'rel': u'bookmark'}]}, {u'hostname': u'414567cc-c824-455b-b5ab-792277452efd', u'conductor_group': u'', u'alive': True, u'links': [{u'href': u'http://localhost/v1/conductors/414567cc-c824-455b-b5ab-792277452efd', u'rel': u'self'}, {u'href': u'http://localhost/conductors/414567cc-c824-455b-b5ab-792277452efd', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=414567cc-c824-455b-b5ab-792277452efd'} {37} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.066459s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'INVALID_MAC_ADDRESS', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a09b2b00-b2ff-4a2b-936b-8cfb3128a9b5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for mac_address. Expected a MAC address but received INVALID_MAC_ADDRESS.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.035940s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'], 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e0d35d2a-3f83-421d-b0b5-f614c39d50f2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute events. Value: '[{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'], 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]'. Wrong type. Expected '', got ''\"}"} {31} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.035310s] ... ok GET: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {} GOT:foo {37} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.064120s] ... ok 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-62490965-177d-4d14-9427-3386fab8d7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {39} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.067045s] ... ok 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-c9913b87-509d-40b2-b17c-9bb93d9ad17b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\"}"} {33} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.074441s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/d87e24c6-f2fb-400c-91c0-c1daae3a0376 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-64e88d91-0a14-4a05-a001-a6958a104ba3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.044499s] ... ok PATCH: /v1/deploy_templates/3bdf0900-b902-4783-8cf0-f5678ade4de1 [{'path': '/name', 'value': None, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-874b74b0-d5ef-402d-a348-b6cc6df39153 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Deploy template name cannot be None.\"}"} POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'name': u'CUSTOM_DT1'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/e38b3c41-1084-4b3c-98cb-09c215f1ca55 Openstack-Request-Id: req-c8f980cc-ebf8-4345-9f4d-e9d30feaaa13 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "e38b3c41-1084-4b3c-98cb-09c215f1ca55", "links": [{"href": "http://localhost/v1/deploy_templates/e38b3c41-1084-4b3c-98cb-09c215f1ca55", "rel": "self"}, {"href": "http://localhost/deploy_templates/e38b3c41-1084-4b3c-98cb-09c215f1ca55", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.539699+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT1"} GET: /v1/deploy_templates/e38b3c41-1084-4b3c-98cb-09c215f1ca55 {} GOT:{u'uuid': u'e38b3c41-1084-4b3c-98cb-09c215f1ca55', u'links': [{u'href': u'http://localhost/v1/deploy_templates/e38b3c41-1084-4b3c-98cb-09c215f1ca55', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/e38b3c41-1084-4b3c-98cb-09c215f1ca55', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.539699+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} {24} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.084555s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.058619s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.097034s] ... ok 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, \"description\": \"\", \"title\": \"Method Not Allowed\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.044129s] ... ok GET: /v1/drivers {} GOT:{u'drivers': []} {39} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.038137s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.058753s] ... ok PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/steps', 'value': [{'interface': 'bios', 'priority': 42, 'step': 'apply_configuration', 'args': {'foo': 'bar'}}], 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-122632b2-9ce1-4450-9df3-50431f111b1c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "ebfae3fa-00f6-4e4b-bb17-94ee10037d1e", "links": [{"href": "http://localhost/v1/deploy_templates/ebfae3fa-00f6-4e4b-bb17-94ee10037d1e", "rel": "self"}, {"href": "http://localhost/deploy_templates/ebfae3fa-00f6-4e4b-bb17-94ee10037d1e", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.399923+00:00", "updated_at": null, "steps": [{"interface": "bios", "priority": 42, "step": "apply_configuration", "args": {"foo": "bar"}}], "name": "CUSTOM_DT1"} {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.071605s] ... ok PATCH: /v1/deploy_templates/5b1f805e-c777-4393-bbe8-21b4f23e6530 [{'path': '/steps', 'value': [{'interface': 'raid', 'priority': 0, 'step': 'create_configuration', 'args': {'foo': '0'}}, {'interface': 'raid', 'priority': 1, 'step': 'create_configuration', 'args': {'foo': '1'}}], 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a96fa41-f114-4681-846e-40fb3533782f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"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.\"}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9e1a42c0-1fe6-473b-9ea0-f89983d95819 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} PATCH: /v1/deploy_templates/7a3ff71e-5977-48cc-981c-3ae5720aded2 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79687dc9-a8f4-48a0-8b79-36f835fc0469 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "7a3ff71e-5977-48cc-981c-3ae5720aded2", "links": [{"href": "http://localhost/v1/deploy_templates/7a3ff71e-5977-48cc-981c-3ae5720aded2", "rel": "self"}, {"href": "http://localhost/deploy_templates/7a3ff71e-5977-48cc-981c-3ae5720aded2", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.345430+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT2"} {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.111454s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.062102s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.068858s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid {} GOT:{u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'allocation_uuid': u'5f338a31-6e2f-43b7-be17-d88b1b0a1a0e'} {32} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.130509s] ... ok GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/test.1 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': u'test.1', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.240931+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.063448s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.093899s] ... ok POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1b958960-d9fd-47e8-9d06-c86d1a6aca14 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: event\"}"} {4} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.035457s] ... ok DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-1a91e0b3-c4bf-4bca-a17e-dc2c7f545319 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {22} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.059000s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chasis_api_policy [0.046920s] ... ok PATCH: /v1/deploy_templates/2863a8c8-b6e4-44fc-abcc-6e239f753675 [{'path': '/steps', 'value': [], 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d6b7bb4-114b-4706-8d4e-24a949fadde8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: No deploy steps specified. A deploy template must have at least one deploy step..\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.022817s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.052795s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf0a698c-23ab-4bf9-8854-bdfc4eb4827a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for port_id. Expected a UUID but received PORT_ID_SHOULD_BE_UUID.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.035118s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.043975s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration'}], 'uuid': '519c4d09-4285-42d7-9424-47101c86660f', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e03193d8-76f6-4020-b158-86ac0eb4a379 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute args. Value: 'None'. Mandatory field missing.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.034810s] ... ok GET: /v1/nodes?conductor=rocky.rocks {} GOT:{u'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/153dbf18-484c-4085-8dfb-1f1242c46c26', u'rel': u'self'}, {u'href': u'http://localhost/nodes/153dbf18-484c-4085-8dfb-1f1242c46c26', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'153dbf18-484c-4085-8dfb-1f1242c46c26'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7e3e581d-8ec5-4f92-8281-a4ef31bc8c09', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7e3e581d-8ec5-4f92-8281-a4ef31bc8c09', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'7e3e581d-8ec5-4f92-8281-a4ef31bc8c09'}]} GET: /v1/nodes?conductor=fake.conductor {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7e3e581d-8ec5-4f92-8281-a4ef31bc8c09', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7e3e581d-8ec5-4f92-8281-a4ef31bc8c09', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'7e3e581d-8ec5-4f92-8281-a4ef31bc8c09'}]} /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert UcsOperationError(u'%(operation)s failed, error: %(error)s',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {36} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.208249s] ... ok GET: /v1/drivers/fake-hardware-type {} GOT:{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} {12} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.102125s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.061523s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-0b58e63c-6601-45fc-99ee-280f83deb189 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {6} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.091422s] ... ok 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-5cc6540a-66da-4750-b802-82fe012ea8a8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\"}"} {34} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.048567s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'e25d4f1e-1952-4c29-b705-08c3375e8479'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ca411b6c-2faf-405a-aa47-85f73b728ed5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.045377s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.029458s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-14f47e97-373a-4737-963c-0cb2ac967ff1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {39} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.059720s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path [0.014504s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches [0.016197s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_invalid_values [0.012951s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_inject_nmi [0.012581s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive_as_dict [0.035688s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_by_conductor_group_fail [0.013040s] ... ok {34} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs_fail [0.012922s] ... ok 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, \"description\": \"The API version does not allow deploy templates\", \"title\": \"Method Not Allowed\"}"} {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.033858s] ... ok POST: /v1/nodes/node-39/vifs {'id': '1ee254eb-bad8-476c-90df-a0cde8e91497'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7682fe2-9834-4683-b276-8e8be81e0a79 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"boom\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.057039s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d2de9e8-4d62-4bbc-bf9b-096b39ebfa80 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute events. Value: '[{'status': 'ACTIVE', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.bind_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]'. Wrong type. Expected '', got ''\"}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.034148s] ... 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-70c8cec8-deff-4425-805b-db14afe742a4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-39abaf50-8bdb-4f89-82bb-8e1f620729d5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-537051cc-d2f7-463d-93ba-16e9e2338840 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a1e557a1-e655-4da2-aafa-84102fae51f0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d0d7d5c3-2cb2-47e9-ad29-13fe029237f2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.226601s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.014980s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.015107s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.060220s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{u'vifs': []} {14} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.046413s] ... ok POST: /v1/nodes/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {38} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.041381s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/fake_setting {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fcf46b3c-ac64-416f-b209-1d3091c3b6c7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\"}"} {37} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.076202s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'interface': 'raid', 'priority': 0, 'step': 'create_configuration', 'args': {'foo': '0'}}, {'interface': 'raid', 'priority': 1, 'step': 'create_configuration', 'args': {'foo': '1'}}], 'uuid': 'c486a40c-7ff9-440a-89c6-86548587cd52', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4d07a37b-3a8c-438c-9c34-95fb33bafd5e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.035729s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.023067s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.024475s] ... ok GET: /v1/deploy_templates?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50759e63-6856-4980-8961-230d1e53539b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/deploy_templates?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e019826e-e2d7-4cb4-9d17-b448676a088e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/deploy_templates?sort_key=steps {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ff5d1a67-8c92-4c17-8ccb-17ed17e99fa9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\"}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.048042s] ... ok GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.56', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}]} {5} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.036587s] ... ok {5} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_on_missing_default_boot_option [0.030878s] ... ok {5} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.014435s] ... ok {5} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.062754s] ... ok {5} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.021481s] ... ok {5} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.016341s] ... ok GET: /v1/nodes/spam/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.059770s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.115339s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.064419s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.032568s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.081370s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} GOT:{u'conductor_group': u'', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {5} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.012659s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.078059s] ... ok {5} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.117004s] ... ok {5} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.079353s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.246552s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.211778s] ... ok 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-ced58ce3-4070-4d21-8f99-6a3657b17d04 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "01b82598-98c0-42e9-97ad-6b6dfeb18e27", "links": [{"href": "http://localhost/v1/deploy_templates/01b82598-98c0-42e9-97ad-6b6dfeb18e27", "rel": "self"}, {"href": "http://localhost/deploy_templates/01b82598-98c0-42e9-97ad-6b6dfeb18e27", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.432637+00:00", "updated_at": null, "steps": [{"interface": "bios", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT1"} {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.055481s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.289802s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.075509s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.192374s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.027718s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.042413s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.013982s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-17a7768b-8e73-4c2a-883a-209de8774fe4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {5} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.057328s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.037082s] ... ok {5} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.076087s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.026294s] ... ok {5} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.258074s] ... ok {5} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.017287s] ... ok {5} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.037904s] ... ok {5} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.713927s] ... ok {5} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.014583s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '2dbb7d94-15b5-41f4-a3e1-3ebdfc161b9c'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80aed0f3-1504-4686-9bff-da42c6aa6bcb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute name. Value: 'None'. Mandatory field missing.\"}"} {5} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.017033s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.036974s] ... ok {5} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.080132s] ... ok {5} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.079983s] ... ok {5} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.061224s] ... ok {5} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.056334s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'fedb0024-12c5-4055-ba25-3540039b2239', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b504a260-40aa-49a6-99ed-f93084f91de1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'None'. Mandatory field missing.\"}"} {5} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.068873s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.035355s] ... ok {5} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.010938s] ... ok {5} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.039377s] ... ok {5} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.036705s] ... ok {5} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.218320s] ... ok {5} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.056726s] ... ok {5} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.021468s] ... ok GET: /v1/nodes?associated=False&limit=2 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9e764c5a-4a66-4604-a03b-b6ecf650cc88', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9e764c5a-4a66-4604-a03b-b6ecf650cc88', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9e764c5a-4a66-4604-a03b-b6ecf650cc88'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/12656ee4-51dc-431a-85d9-88331ca8d264', u'rel': u'self'}, {u'href': u'http://localhost/nodes/12656ee4-51dc-431a-85d9-88331ca8d264', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'12656ee4-51dc-431a-85d9-88331ca8d264'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=2&marker=12656ee4-51dc-431a-85d9-88331ca8d264'} {5} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.032806s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.153506s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c0f00fe-c3dd-48d2-ac04-33bc3ed7383b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.040624s] ... ok {5} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.021493s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description {} GOT:{u'description': u'useful piece', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.080412s] ... ok {5} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.021936s] ... ok {5} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.021388s] ... ok GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'enabled_rescue_interfaces': [], u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'default_rescue_interface': None, u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_bios_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_bios_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'hosts': [u'fake-host1', u'fake-host2'], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'enabled_power_interfaces': []}, {u'enabled_rescue_interfaces': [], u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}], u'default_rescue_interface': None, u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_bios_interfaces': [], u'enabled_deploy_interfaces': [], u'default_boot_interface': None, u'default_bios_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'hosts': [u'fake-host1'], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type-2', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': [], u'enabled_power_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} {5} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.019978s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.104025s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.133815s] ... ok {5} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.008644s] ... ok /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert UcsConnectionError('Service unavailable, failed with error: %(error)s',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {5} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_supported_boot_devices [0.053835s] ... ok {5} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_properties [0.058549s] ... ok GET: /v1/drivers/test/properties {} GOT:{u'prop1': u'Property 1. Required.'} {28} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.034731s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.074827s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.053071s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.024648s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': False, u'console_info': None} {5} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.040390s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'args': {'logical_disks': []}}], 'uuid': '8d740d2a-e74a-47ef-bcda-7f35457e16b9', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-deb42b48-0bfd-465f-9169-b87464a67a6a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute step. Value: 'None'. Mandatory field missing.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.086513s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.034212s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.028506s] ... ok {5} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.026208s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed [0.110090s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.068538s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.058400s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4cdb7c46-6170-4284-9fa9-06194538c631 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.082204s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.049130s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.124869s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.057831s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.033437s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.028882s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.080975s] ... ok GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3f6c0a57-d5ee-410b-9d0b-1a7a7fd36e65 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {19} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.038864s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.077762s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.081022s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26fbb106-fdd5-4c3c-ad65-8e60501049d1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.037328s] ... ok PATCH: /v1/deploy_templates/6ae0a328-3100-42cb-b049-b9a4018b2e62 [{'path': '/steps/1', 'value': {'interface': 'bios', 'priority': 42, 'step': 'apply_configuration', 'args': {'foo': 'bar'}}, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40536cb2-719b-4e52-8e8d-dc78b4e563bb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'value': {'interface': 'bios', 'priority': 42, 'step': 'apply_configuration', 'args': {'foo': 'bar'}}, 'op': 'replace'}'. Reason: list assignment index out of range\"}"} {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.118688s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.049089s] ... ok POST: /v1/nodes/doesntexist/vifs {'id': '883a204f-25e0-4b31-9452-58b5abe97950'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe959b9d-2655-438d-82ae-ce659d299d30 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.100851s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.057405s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift [0.131635s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_without_copy [0.153503s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.127840s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eaca651d-8992-469a-a071-c54626eebc67 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.065971s] ... ok POST: /v1/nodes {'instance_uuid': None, 'automated_clean': True, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-22832675-6dca-4375-8557-9733aaeb3e47 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {33} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.043294s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.096133s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.120306s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.050822s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.056189s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-1562c520-f3b5-4721-847a-b245be43a69e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {38} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.067976s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.027364s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.112821s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.058853s] ... ok {5} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.081854s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.365807+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {34} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.064075s] ... ok {5} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.117524s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.048630s] ... ok GET: /v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb {} GOT:{u'uuid': u'4f00acf8-d72f-459e-8c12-d675b154a0fb', u'links': [{u'href': u'http://localhost/v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.355469+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb {} GOT:{u'uuid': u'4f00acf8-d72f-459e-8c12-d675b154a0fb', u'links': [{u'href': u'http://localhost/v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.355469+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb {} GOT:{u'uuid': u'4f00acf8-d72f-459e-8c12-d675b154a0fb', u'links': [{u'href': u'http://localhost/v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:33.355469+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4f00acf8-d72f-459e-8c12-d675b154a0fb/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.073581s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.090784s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e2e35d5d-39b3-47bf-94fa-f71ee6750d83 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.044287s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_did_start [0.056136s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_running [0.050073s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.078912s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_doesnt_complete [0.084849s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.076830s] ... ok 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-23cb152f-8129-46c5-af29-fe490b544548 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {37} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.049926s] ... ok GET: /v1/drivers/fake-hardware-type {} GOT:{u'enabled_rescue_interfaces': [], u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'default_rescue_interface': None, u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_bios_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_bios_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'hosts': [u'fake-host1', u'fake-host2'], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'enabled_power_interfaces': []} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} {21} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.113718s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step [0.127011s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.012746s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.023706s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.014921s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.013773s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.076613s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.156014s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.186964s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.023970s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.019798s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.012018s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.012642s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.019798s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1b27d624-daeb-43c1-8c50-d0fc56256244 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.072802s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'da0a9928-0ff6-46ee-ac6c-f819633a1179', 'name': u'CUSTOM_DT1'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-350d47ea-3ca8-4bd0-bd76-cff87e9babfb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.042695s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df2da17c-e98c-42b6-9e6d-13baf06cf9a3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.048503s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c7b9fd5b-d48a-451f-8de5-ac3f9abed2e5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.040010s] ... ok GET: /v1/nodes?conductor=like.shadows {} GOT:{u'nodes': []} GET: /v1/nodes?conductor=like.shadows {} GOT:{u'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8961741f-2a87-4b76-8b05-d5050660350b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.195762s] ... ok GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"description\": \"Expected a logical name or UUID but received 123 123.\", \"title\": \"Bad Request\"}"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.034613s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.035720s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:{u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'network_interface': None} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.088719s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': '42', 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '245a1008-99bf-4a88-b047-1e6fc46e45b4', 'name': u'CUSTOM_DT1'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/245a1008-99bf-4a88-b047-1e6fc46e45b4 Openstack-Request-Id: req-2d0fa139-eeba-4c9a-a329-fc5af4f03e79 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "245a1008-99bf-4a88-b047-1e6fc46e45b4", "links": [{"href": "http://localhost/v1/deploy_templates/245a1008-99bf-4a88-b047-1e6fc46e45b4", "rel": "self"}, {"href": "http://localhost/deploy_templates/245a1008-99bf-4a88-b047-1e6fc46e45b4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:33.414295+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 42, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT1"} {26} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.042369s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.024861s] ... ok POST: /v1/events {'events': [{'status': 'ACTIVE', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal', 'mac_address': 'de:ad:ca:fe:ba:be', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'event': 'network.delete_port', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-b9a13ccf-d904-47f2-96f9-2cdb0683c559 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {24} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.034623s] ... ok 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-ee3cf172-d50b-46a1-9bb1-2e7100afa8a2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.047779s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_conductor_api_policy [0.034189s] ... ok GET: /v1/nodes?fields=driver_info,uuid {} GOT:{u'nodes': [{u'driver_info': {u'fake': u'value'}, u'uuid': u'4336d645-ee44-4e22-b971-770d216aee56', u'links': [{u'href': u'http://localhost/v1/nodes/4336d645-ee44-4e22-b971-770d216aee56', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4336d645-ee44-4e22-b971-770d216aee56', u'rel': u'bookmark'}]}, {u'driver_info': {u'fake': u'value'}, u'uuid': u'c4c23f62-3030-434b-840b-20c298e17164', u'links': [{u'href': u'http://localhost/v1/nodes/c4c23f62-3030-434b-840b-20c298e17164', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c4c23f62-3030-434b-840b-20c298e17164', u'rel': u'bookmark'}]}, {u'driver_info': {u'fake': u'value'}, u'uuid': u'c2a2ac10-9910-4039-863a-5da097006b77', u'links': [{u'href': u'http://localhost/v1/nodes/c2a2ac10-9910-4039-863a-5da097006b77', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c2a2ac10-9910-4039-863a-5da097006b77', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=c2a2ac10-9910-4039-863a-5da097006b77'} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.162309s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}}], 'uuid': 'ad2b1fba-b3fb-4534-8158-bad3d45c7e15', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3410f824-0acd-4456-b11e-fc8bb099d36c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute step. Value: '42'. Wrong type. Expected '', got ''\"}"} {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.034897s] ... ok DELETE: /v1/nodes/doesntexist/vifs/f265bce4-537c-40be-87b8-05acb83b7b04 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-04f8060d-194c-475d-9775-ea2352a7fe4a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.052827s] ... ok GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} {28} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.063259s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d1f99602-51af-4c2c-884b-c9a391f42803 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support test (disabled or not implemented).\"}"} {33} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.057859s] ... ok GET: /v1/nodes?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a29b2910-9d5c-4cbd-a2ee-7f8c2ee60f35 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\"}"} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7eafec38-316a-4fed-bcb4-c1b6ce446c55 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.051063s] ... ok GET: /v1/nodes?fields=name&limit=2 {} GOT:{u'nodes': [{u'name': None, u'links': [{u'href': u'http://localhost/v1/nodes/4181ef64-94f8-4b34-a265-b0a724cf2b09', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4181ef64-94f8-4b34-a265-b0a724cf2b09', u'rel': u'bookmark'}]}, {u'name': None, u'links': [{u'href': u'http://localhost/v1/nodes/c58745d1-2f3c-42c8-8a66-4e2fcbde2017', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c58745d1-2f3c-42c8-8a66-4e2fcbde2017', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=c58745d1-2f3c-42c8-8a66-4e2fcbde2017'} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.116467s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.567329+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.068264s] ... ok GET: /v1/nodes?driver=test {} GOT:{u'nodes': []} 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-5fce57a8-143f-4e76-acd2-d556c98d70b5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.078033s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.066570s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'foo': 'bar'}], 'uuid': 'a202ed06-2708-448e-b34d-6478ab37f695', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bbf1b47a-e6ae-40bf-853b-2c457ec8cacf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument template.steps: foo\"}"} {23} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.034920s] ... ok DELETE: /v1/nodes/foo.json GOT:Response: 204 No Content Openstack-Request-Id: req-e2634cea-f06f-4202-89fe-93e207148c20 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.056994s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=automated_clean {} GOT:{u'automated_clean': True, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.066627s] ... ok GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} {23} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.037089s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:{u'bios': [{u'value': u'on', u'created_at': u'2020-11-20T07:00:33.464473+00:00', u'name': u'virtualization', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', u'rel': u'bookmark'}], u'updated_at': None}]} {21} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.089704s] ... ok DELETE: /v1/nodes/node-39/vifs/aa49f2b5-e56c-4502-8555-af8747b33f82 GOT:Response: 204 No Content Openstack-Request-Id: req-3485227a-938b-47ab-b61f-5ca10f6a7265 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {28} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.045937s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fff9fe3b-c5ed-475f-bfd8-3da916c7b787 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.051186s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:{u'virtualization': {u'value': u'on', u'created_at': u'2020-11-20T07:00:33.712674+00:00', u'name': u'virtualization', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', u'rel': u'bookmark'}], u'updated_at': None}} {24} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.078901s] ... ok GET: /v1/nodes/detail?resource_class=test {} GOT:{u'nodes': []} {21} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.081997s] ... ok GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8d8ff7c1-ee0b-4099-83c0-17d4b075065a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.041014s] ... ok POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': 10, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': '47afea9c-d013-4899-8e4e-d96cbdec05ad', 'name': u'CUSTOM_DT1'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/47afea9c-d013-4899-8e4e-d96cbdec05ad Openstack-Request-Id: req-4bdafcd5-dc2f-4efd-870a-ae985d8cdc1c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"uuid": "47afea9c-d013-4899-8e4e-d96cbdec05ad", "links": [{"href": "http://localhost/v1/deploy_templates/47afea9c-d013-4899-8e4e-d96cbdec05ad", "rel": "self"}, {"href": "http://localhost/deploy_templates/47afea9c-d013-4899-8e4e-d96cbdec05ad", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "steps": [{"interface": "raid", "priority": 10, "step": "create_configuration", "args": {"logical_disks": []}}], "name": "CUSTOM_DT1"} GET: /v1/deploy_templates/47afea9c-d013-4899-8e4e-d96cbdec05ad {} GOT:{u'uuid': u'47afea9c-d013-4899-8e4e-d96cbdec05ad', u'links': [{u'href': u'http://localhost/v1/deploy_templates/47afea9c-d013-4899-8e4e-d96cbdec05ad', u'rel': u'self'}, {u'href': u'http://localhost/deploy_templates/47afea9c-d013-4899-8e4e-d96cbdec05ad', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'steps': [{u'interface': u'raid', u'priority': 10, u'step': u'create_configuration', u'args': {u'logical_disks': []}}], u'name': u'CUSTOM_DT1'} {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.061184s] ... ok GET: /v1/nodes?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f20ce4d2-be1b-4261-a5c1-4456f553c2b3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\"}"} GET: /v1/nodes/detail?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-db8ce994-60ac-495c-9496-a9bbf9b14dec X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.048629s] ... ok GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-225b2c30-2cc5-4044-8e89-21e4a2a7f399 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\"}"} POST: /v1/deploy_templates {'extra': {}, 'steps': [{'priority': -1, 'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'uuid': 'ca435146-b71b-4c20-a00a-c9e79220b418', 'name': u'CUSTOM_DT1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95b33529-4c57-4501-b5ab-739f3fd5f36e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute priority. Value: '-1'. Value should be greater or equal to 0\"}"} {10} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.034450s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.035652s] ... ok GET: /v1/nodes?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-69744cda-2e47-45a7-a51f-b020405af14e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\"}"} GET: /v1/nodes/detail?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2c77f8e2-1da7-4dfc-9efa-ce66d83c715b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.050407s] ... ok PATCH: /v1/ports/198a2d4d-b6ed-4a9d-9294-67b138289831 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d31d4979-3866-4c03-bfdf-b973d12ca429 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port 198a2d4d-b6ed-4a9d-9294-67b138289831 could not be found.\"}"} {33} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.057237s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a80e7214-4754-4e7c-b811-ca42d78593fe X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {38} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.082618s] ... ok POST: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a21f64c-5e03-43a1-8f16-4e932568d59c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.065694s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-f899c63a-e542-4f7a-88b8-56bc2697a60c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {24} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.046996s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'0eefc45a-035a-4efc-8ab2-491c43caec8e', u'links': [{u'href': u'http://localhost/v1/portgroups/0eefc45a-035a-4efc-8ab2-491c43caec8e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0eefc45a-035a-4efc-8ab2-491c43caec8e', u'rel': u'bookmark'}], u'name': u'pg-0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'f791223e-de16-447a-a3e4-35ee1119dd41', u'links': [{u'href': u'http://localhost/v1/portgroups/f791223e-de16-447a-a3e4-35ee1119dd41', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f791223e-de16-447a-a3e4-35ee1119dd41', u'rel': u'bookmark'}], u'name': u'pg-1'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'0eefc45a-035a-4efc-8ab2-491c43caec8e', u'links': [{u'href': u'http://localhost/v1/portgroups/0eefc45a-035a-4efc-8ab2-491c43caec8e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0eefc45a-035a-4efc-8ab2-491c43caec8e', u'rel': u'bookmark'}], u'name': u'pg-0'}], u'next': u'http://localhost/v1/portgroups?sort_dir=asc&sort_key=id&fields=uuid,address,name&limit=1&marker=0eefc45a-035a-4efc-8ab2-491c43caec8e'} {39} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.135037s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5a66ed7d-6641-476b-9dea-b4afedb4fb20 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.034831s] ... ok GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.319507+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.319507+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} 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-68a0081c-9873-4b61-8a28-8e51ec32b1ba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.163780s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.050452s] ... ok PATCH: /v1/nodes/135a5c26-0551-4e16-b6e2-b776791425a4 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a13acf2-bab4-4707-9a76-778e7a101381 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/135a5c26-0551-4e16-b6e2-b776791425a4", "rel": "self"}, {"href": "http://localhost/nodes/135a5c26-0551-4e16-b6e2-b776791425a4", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/135a5c26-0551-4e16-b6e2-b776791425a4/states", "rel": "self"}, {"href": "http://localhost/nodes/135a5c26-0551-4e16-b6e2-b776791425a4/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "135a5c26-0551-4e16-b6e2-b776791425a4", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2020-11-20T07:00:33.702670+00:00", "ports": [{"href": "http://localhost/v1/nodes/135a5c26-0551-4e16-b6e2-b776791425a4/ports", "rel": "self"}, {"href": "http://localhost/nodes/135a5c26-0551-4e16-b6e2-b776791425a4/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.088043s] ... ok GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f5631555-0870-4f5e-a5b5-ffad80246f90 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.035506s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.022828s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/09575f2a-6f2e-42c2-9c08-ae3d24cab9b1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/09575f2a-6f2e-42c2-9c08-ae3d24cab9b1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'09575f2a-6f2e-42c2-9c08-ae3d24cab9b1'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ca7fc2a6-8d46-4901-a295-65f4dd85a112', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ca7fc2a6-8d46-4901-a295-65f4dd85a112', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ca7fc2a6-8d46-4901-a295-65f4dd85a112'}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/09575f2a-6f2e-42c2-9c08-ae3d24cab9b1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/09575f2a-6f2e-42c2-9c08-ae3d24cab9b1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'09575f2a-6f2e-42c2-9c08-ae3d24cab9b1'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=1&marker=09575f2a-6f2e-42c2-9c08-ae3d24cab9b1'} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.184381s] ... ok POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a56525f-f4a9-4c28-86f7-5d28ff554695 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"invalid.event is not one of valid events: network.bind_port, network.unbind_port, network.delete_port.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.034208s] ... ok 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-c2930970-b40a-482e-bd32-4f538b541770 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.864667+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.087845s] ... ok GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]} {11} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.062893s] ... ok PATCH: /v1/ports/d1e017c3-497b-46e2-81a0-2797adbc5ea6 [{'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-1fb55aa1-5bbe-439f-bbc0-b35232f6d195 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "d1e017c3-497b-46e2-81a0-2797adbc5ea6", "links": [{"href": "http://localhost/v1/ports/d1e017c3-497b-46e2-81a0-2797adbc5ea6", "rel": "self"}, {"href": "http://localhost/ports/d1e017c3-497b-46e2-81a0-2797adbc5ea6", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:33.972095+00:00", "physical_network": null, "address": "52:55:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar", "bar": "buzz"}, "created_at": "2020-11-20T07:00:33.926605+00:00"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_deprecated [0.099176s] ... ok GET: /v1/nodes/?limit=3 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b0f98cca-b700-456a-aa28-6b26ec70a8f1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b0f98cca-b700-456a-aa28-6b26ec70a8f1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b0f98cca-b700-456a-aa28-6b26ec70a8f1'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/97397e7e-8efc-45c7-9bbc-45cfc6c69d9e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/97397e7e-8efc-45c7-9bbc-45cfc6c69d9e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'97397e7e-8efc-45c7-9bbc-45cfc6c69d9e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/533649e8-18ef-49b7-93f1-5c93ba2dbe49', u'rel': u'self'}, {u'href': u'http://localhost/nodes/533649e8-18ef-49b7-93f1-5c93ba2dbe49', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'533649e8-18ef-49b7-93f1-5c93ba2dbe49'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=533649e8-18ef-49b7-93f1-5c93ba2dbe49'} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.141753s] ... ok GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9a894ec5-d5a3-4d98-b7f6-251f03844a59 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.064582s] ... ok 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-80cf1e1e-1f85-42ae-a1cd-c06ca5647817 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"foo\"}"} {38} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.063375s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b57ca212-0cc3-4fd6-bb64-12d85dc571d6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.070147s] ... ok GET: /v1/nodes?associated=true {} GOT:{u'nodes': [{u'instance_uuid': u'5a382533-f34c-479a-aeac-4d2aa4cf158c', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e7885e3e-0cc3-4dfc-ac13-559cff42bf17', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e7885e3e-0cc3-4dfc-ac13-559cff42bf17', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e7885e3e-0cc3-4dfc-ac13-559cff42bf17'}, {u'instance_uuid': u'3477c95b-d139-4311-bb5e-afea3959a200', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a2c851f2-ad65-47ed-bb1c-5e2bf75f14a4', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a2c851f2-ad65-47ed-bb1c-5e2bf75f14a4', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a2c851f2-ad65-47ed-bb1c-5e2bf75f14a4'}, {u'instance_uuid': u'28b9637f-e580-446d-80fc-5b8598ab91af', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ac24a995-f6af-4b77-87b9-5ce678b7aa0b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ac24a995-f6af-4b77-87b9-5ce678b7aa0b', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ac24a995-f6af-4b77-87b9-5ce678b7aa0b'}, {u'instance_uuid': u'f37fc99c-2a4d-4f12-8b1d-389d869a9868', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/be27e06a-853b-480e-9aa7-25d49f210f4f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/be27e06a-853b-480e-9aa7-25d49f210f4f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'be27e06a-853b-480e-9aa7-25d49f210f4f'}]} GET: /v1/nodes?associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'5a382533-f34c-479a-aeac-4d2aa4cf158c', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e7885e3e-0cc3-4dfc-ac13-559cff42bf17', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e7885e3e-0cc3-4dfc-ac13-559cff42bf17', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e7885e3e-0cc3-4dfc-ac13-559cff42bf17'}, {u'instance_uuid': u'3477c95b-d139-4311-bb5e-afea3959a200', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a2c851f2-ad65-47ed-bb1c-5e2bf75f14a4', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a2c851f2-ad65-47ed-bb1c-5e2bf75f14a4', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a2c851f2-ad65-47ed-bb1c-5e2bf75f14a4'}, {u'instance_uuid': u'28b9637f-e580-446d-80fc-5b8598ab91af', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ac24a995-f6af-4b77-87b9-5ce678b7aa0b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ac24a995-f6af-4b77-87b9-5ce678b7aa0b', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ac24a995-f6af-4b77-87b9-5ce678b7aa0b'}, {u'instance_uuid': u'f37fc99c-2a4d-4f12-8b1d-389d869a9868', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/be27e06a-853b-480e-9aa7-25d49f210f4f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/be27e06a-853b-480e-9aa7-25d49f210f4f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'be27e06a-853b-480e-9aa7-25d49f210f4f'}]} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.270781s] ... ok GET: /v1/nodes?provision_state=available {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/32f9f608-ac6d-478a-ba53-b6900386481e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/32f9f608-ac6d-478a-ba53-b6900386481e', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'32f9f608-ac6d-478a-ba53-b6900386481e'}]} GET: /v1/nodes?provision_state=deploying {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2d7499db-2503-4059-9c88-868059a41976', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2d7499db-2503-4059-9c88-868059a41976', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'deploying', u'uuid': u'2d7499db-2503-4059-9c88-868059a41976'}]} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.159111s] ... ok GET: /v1/nodes?resource_class=foo {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6b6ffd63-2adc-414b-9576-8cbb5e72eda5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6b6ffd63-2adc-414b-9576-8cbb5e72eda5', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'6b6ffd63-2adc-414b-9576-8cbb5e72eda5'}]} GET: /v1/nodes?resource_class=bar {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c9100427-8d55-4d98-99ce-f3b61223a50f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c9100427-8d55-4d98-99ce-f3b61223a50f', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'c9100427-8d55-4d98-99ce-f3b61223a50f'}]} {26} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.165216s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-61857c56-52a9-49fa-9c6a-e78779993b34 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.054109s] ... ok GET: /v1/nodes?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe0884cd-b244-4e19-a498-c813f71dc10e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:{u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'conductor': u'fake.conductor'} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.070456s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.053537s] ... ok GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'2569b6cd-5c1a-48e6-8c85-121cb53a1877', u'links': [{u'href': u'http://localhost/v1/volume/targets/2569b6cd-5c1a-48e6-8c85-121cb53a1877', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/2569b6cd-5c1a-48e6-8c85-121cb53a1877', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.431247+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}, {u'boot_index': 1, u'uuid': u'f205454a-2ebf-40be-869d-d3efaf83ab5f', u'links': [{u'href': u'http://localhost/v1/volume/targets/f205454a-2ebf-40be-869d-d3efaf83ab5f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/f205454a-2ebf-40be-869d-d3efaf83ab5f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.435035+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}, {u'boot_index': 2, u'uuid': u'0ace2815-9ad2-432e-9e01-f90b3a5c730e', u'links': [{u'href': u'http://localhost/v1/volume/targets/0ace2815-9ad2-432e-9e01-f90b3a5c730e', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0ace2815-9ad2-432e-9e01-f90b3a5c730e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.437966+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=0ace2815-9ad2-432e-9e01-f90b3a5c730e'} {34} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.100593s] ... 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-d172cac7-9b4b-426c-904c-b168edd4efc9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.075854s] ... ok GET: /v1/portgroups?fields=address&limit=2 {} GOT:{u'portgroups': [{u'links': [{u'href': u'http://localhost/v1/portgroups/1f75270b-4cf1-44d4-a345-66ce960190a7', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1f75270b-4cf1-44d4-a345-66ce960190a7', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'links': [{u'href': u'http://localhost/v1/portgroups/d3b1b345-48f2-41ef-9be3-784238a6cb99', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d3b1b345-48f2-41ef-9be3-784238a6cb99', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}], u'next': u'http://localhost/v1/portgroups?sort_dir=asc&sort_key=id&fields=address&limit=2&marker=d3b1b345-48f2-41ef-9be3-784238a6cb99'} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.080085s] ... ok 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-b817b6dd-9ecd-49ff-a360-a8107854dacc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {38} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.076480s] ... ok 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-1f5f7c7e-87a1-4bd6-9e32-bfff617b7423 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.054124s] ... ok GET: /v1/nodes?detail=False&fields=name {} GOT:{u'nodes': [{u'name': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.111751s] ... ok GET: /v1/portgroups?sort_key=mode {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'edda73f8-150a-4f17-8afd-ea4af759f7a6', u'links': [{u'href': u'http://localhost/v1/portgroups/edda73f8-150a-4f17-8afd-ea4af759f7a6', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/edda73f8-150a-4f17-8afd-ea4af759f7a6', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'e2b14045-e788-4952-b1ca-9ff3386b2a1b', u'links': [{u'href': u'http://localhost/v1/portgroups/e2b14045-e788-4952-b1ca-9ff3386b2a1b', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e2b14045-e788-4952-b1ca-9ff3386b2a1b', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'67cd022f-b1a3-4016-b55b-0f75e83c7b71', u'links': [{u'href': u'http://localhost/v1/portgroups/67cd022f-b1a3-4016-b55b-0f75e83c7b71', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/67cd022f-b1a3-4016-b55b-0f75e83c7b71', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {33} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.100304s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.398520+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': u'akindofmagic', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {32} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.075318s] ... ok PATCH: /v1/deploy_templates/1dba1644-280d-4b44-990d-d1aa365ab0eb [{'path': '/steps/0', 'value': {'interface': 'foo', 'priority': 42, 'step': 'apply_configuration', 'args': {'foo': 'bar'}}, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e8311fa4-3222-4bd1-946d-2f70a9b534cd X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: bios, management, raid, power, deploy\"}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.071157s] ... ok GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76c65e8d-a833-41bc-bca2-a7184c3e6d84 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.040847s] ... ok GET: /v1/nodes?sort_key=resource_class {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/61d627e2-9f11-4b7e-8a6c-d70ca0bb88ff', u'rel': u'self'}, {u'href': u'http://localhost/nodes/61d627e2-9f11-4b7e-8a6c-d70ca0bb88ff', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'61d627e2-9f11-4b7e-8a6c-d70ca0bb88ff'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/18d4cead-15b2-4ce9-b3bd-7afb6f4c3b10', u'rel': u'self'}, {u'href': u'http://localhost/nodes/18d4cead-15b2-4ce9-b3bd-7afb6f4c3b10', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'18d4cead-15b2-4ce9-b3bd-7afb6f4c3b10'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1084701c-cfd3-4d39-898c-84733d41e2f1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1084701c-cfd3-4d39-898c-84733d41e2f1', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'1084701c-cfd3-4d39-898c-84733d41e2f1'}]} {39} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.124651s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'name': u'fooname'}]} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.062069s] ... ok 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-a017f505-75f1-4fcd-a4eb-714253ca8a64 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {34} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.061507s] ... ok {34} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.020601s] ... ok {34} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_deprecated_opts [0.029991s] ... ok {34} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.016075s] ... ok {34} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.081608s] ... ok {34} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.018857s] ... ok {34} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.015019s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f303a273-e7a8-4a40-92b2-7b8791433117 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.079694s] ... ok {34} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.021604s] ... ok {34} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.025657s] ... ok {34} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.017789s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.728130+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {36} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.069156s] ... ok {34} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.012810s] ... ok {34} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.008985s] ... ok {34} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.089000s] ... ok {34} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.086247s] ... ok GET: /v1/nodes/123~123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"description\": \"Expected a logical name or UUID but received 123~123.\", \"title\": \"Bad Request\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.030950s] ... ok {34} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.087192s] ... ok {34} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.084973s] ... ok {34} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.026189s] ... ok {34} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.025985s] ... ok {34} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.015264s] ... ok {34} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.006803s] ... ok {34} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.007408s] ... ok {34} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.149384s] ... ok {34} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.296180s] ... ok {34} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.295774s] ... ok {34} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.291618s] ... ok {34} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test_do_node_deploy_steps [0.285332s] ... ok {34} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.115970s] ... ok POST: /v1/nodes/node-39/vifs {'id': 'c0ad4500-3877-4923-9259-8aaf59f7842c'} GOT:Response: 204 No Content Openstack-Request-Id: req-e1c55692-55a4-4b02-9e5f-84b06b8f25b5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.052613s] ... ok {34} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.298037s] ... ok {34} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_old [0.326191s] ... ok {34} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.093721s] ... ok {34} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.096466s] ... ok {34} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.084842s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'provision_updated_at': u'2000-01-01T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state'} {32} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.062012s] ... ok {34} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.131072s] ... ok {34} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.014636s] ... ok {34} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.016033s] ... ok {34} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.028339s] ... ok {34} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.095504s] ... ok {34} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.090941s] ... ok {34} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.093173s] ... ok {34} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.033382s] ... ok {34} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.228227s] ... ok {34} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.038411s] ... ok {34} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.057882s] ... ok {34} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.060638s] ... ok {34} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.036401s] ... ok {34} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.021223s] ... ok {34} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.062319s] ... ok {34} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.024812s] ... ok {34} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.030476s] ... ok {34} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.032160s] ... ok {34} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.032311s] ... ok {34} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_continue_deploy [0.130966s] ... ok {34} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.117213s] ... ok {34} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.088804s] ... ok {34} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.045104s] ... ok {34} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.102556s] ... ok {34} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_reboot_not_reached [2.468633s] ... ok {34} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.067365s] ... ok 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-4ef48d56-0cf2-48a4-a61a-5b039e343416 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/mode' is a mandatory attribute and can not be removed\"}"} {34} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.012794s] ... ok {33} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.047557s] ... ok {34} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.054670s] ... ok {34} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed [0.085358s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.055004s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.052897s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.057888s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.056590s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.083466s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.017383s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.016288s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.044193s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ef8b8bbb-da5c-46e0-b111-c0a39df5c67d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {39} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.052152s] ... ok {34} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.016198s] ... ok {34} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.055374s] ... 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-d9ab5aab-d83c-4b55-b1cb-7ad0189a0ecc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.056905s] ... ok GET: /v1/nodes?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a84bfa0-7c28-47b6-864f-33012263db72 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\"}"} GET: /v1/nodes/detail?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef089aeb-1a92-49af-9749-fdb4096c1c05 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.045635s] ... ok 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-9b76fa5b-640f-4a21-b6c5-41aa51c898cc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.057649s] ... 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-c6b1904c-6e06-460f-8cc6-b2de20159a4a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.078289+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.096137s] ... ok GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-52b7105c-6f39-43e0-a7dc-1b3f9e7dd54f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a28a77e2-eb61-45ca-b4a9-92dda732594f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.040243s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.040230s] ... ok GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.058877s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.044640s] ... ok {34} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.138389s] ... ok {34} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.053940s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.600169+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.600169+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.116382s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-3fc82686-a565-460c-87d9-217431b84b6c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.049133s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ed49c535-d16a-4051-8165-a78501dad146 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {39} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.076213s] ... ok {34} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.058707s] ... ok GET: /v1/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} {11} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.098994s] ... ok {34} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.056115s] ... ok {34} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.058987s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': '', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ded112c-10d9-42f2-a14e-8132ceba9312 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\"}"} {32} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.071787s] ... ok GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.551454+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2020-11-20T07:00:33.551454+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.169239s] ... ok {34} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.049655s] ... ok DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-f1e027c1-7d9c-4550-95aa-ff577357395f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {27} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.095114s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e186ff6-1dfe-4695-a2dc-8e071c72c7f5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.062061s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-24c031bd-4b3c-48f5-b461-07a792bd6d08 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.073685s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9a264423-77ea-47d4-8ead-22b3aaacd4cd X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {39} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.046610s] ... ok 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-ef2c1e88-fddd-438d-9ece-3a1252143745 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.285311+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.473277+00:00'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.473277+00:00', u'is_smartnic': True} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.086414s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.086432s] ... ok POST: /v1/events {'events': [{'event': 'valid.event'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-38833bc6-843d-46fd-b407-00b4152ea542 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {34} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.125018s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.034269s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.618879+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': u'2015-03-18T19:20:00+00:00', u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.618879+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {21} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.091341s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.754601+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.078717s] ... ok {34} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.045999s] ... ok {34} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.042615s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.614276+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.066728s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/df804c95-52c0-4765-89a0-5785f22662c3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/df804c95-52c0-4765-89a0-5785f22662c3', u'rel': u'bookmark'}], u'name': u'node-0', u'power_state': None, u'provision_state': u'available', u'uuid': u'df804c95-52c0-4765-89a0-5785f22662c3'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/15fc7c60-e0bd-4138-b0dc-bd679910eb17', u'rel': u'self'}, {u'href': u'http://localhost/nodes/15fc7c60-e0bd-4138-b0dc-bd679910eb17', u'rel': u'bookmark'}], u'name': u'node-1', u'power_state': None, u'provision_state': u'available', u'uuid': u'15fc7c60-e0bd-4138-b0dc-bd679910eb17'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/d31272c6-03f1-4767-b8cb-2f53555bbe49', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d31272c6-03f1-4767-b8cb-2f53555bbe49', u'rel': u'bookmark'}], u'name': u'node-2', u'power_state': None, u'provision_state': u'available', u'uuid': u'd31272c6-03f1-4767-b8cb-2f53555bbe49'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8f0e594a-5cb1-4faf-9a98-133a6961b8eb', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8f0e594a-5cb1-4faf-9a98-133a6961b8eb', u'rel': u'bookmark'}], u'name': u'node-3', u'power_state': None, u'provision_state': u'available', u'uuid': u'8f0e594a-5cb1-4faf-9a98-133a6961b8eb'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/34d77a92-ae63-4644-b45f-7432e35ed348', u'rel': u'self'}, {u'href': u'http://localhost/nodes/34d77a92-ae63-4644-b45f-7432e35ed348', u'rel': u'bookmark'}], u'name': u'node-4', u'power_state': None, u'provision_state': u'available', u'uuid': u'34d77a92-ae63-4644-b45f-7432e35ed348'}]} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.154153s] ... ok {34} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.053817s] ... ok POST: /v1/events {'events': [{'event': 'valid.event1'}, {'event': 'valid.event2'}, {'event': 'valid.event3'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-5e95f062-5a7b-44fc-9d00-37991ad66eb2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {11} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.033526s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.023226s] ... ok 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-d6bbce75-31fb-41aa-a494-cee1c2af04de X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {39} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.079530s] ... ok GET: /v1/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'active', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'4103fb7f-0406-4138-968b-0ae5e6fec6dd', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.681032+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': True, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4103fb7f-0406-4138-968b-0ae5e6fec6dd/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'active', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'2867470a-34f4-4d2e-b449-0d5223d7131f', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.724961+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2867470a-34f4-4d2e-b449-0d5223d7131f/ports', u'rel': u'bookmark'}]} {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.103604s] ... ok GET: /v1/nodes/node.json {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': u'node.json', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.818596+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.087685s] ... ok {34} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.057092s] ... ok 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-c806f6e3-e85a-4ec6-b5d9-8838e0dfc877 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.063135s] ... ok {34} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook_no_hook_registered [0.025954s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb4b63f6-1b5d-427f-9ff7-767d960597e9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2020-11-20T07:00:34.506120+00:00", "updated_at": "2020-11-20T07:00:34.512723+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {33} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.092664s] ... ok {33} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.013268s] ... ok {33} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type [0.011394s] ... ok {33} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_volume [0.012342s] ... ok {33} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.014299s] ... ok {34} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.047878s] ... ok PATCH: /v1/portgroups/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1e9fc1a-e2b1-489d-84fe-21c7bffdfd56 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2020-11-20T07:00:34.172991+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {8} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.091416s] ... ok 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-ea35c85b-18b5-4f1e-b39a-24e7f11477d0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.055330s] ... ok {34} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.009949s] ... ok {34} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.014445s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.063583s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-87c83b28-ca0d-4120-a569-1fa140c6475c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.064208s] ... ok {34} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.017521s] ... ok 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-e18d8f7d-b659-4ffa-b4e9-df621c0a2a9b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {38} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.059600s] ... ok {34} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.006734s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.041929s] ... ok {34} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_cpu_arch [0.017161s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-747f3724-6040-45bb-84a5-ba458f447a7f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.060168s] ... ok {34} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.013898s] ... ok GET: /v1/nodes?detail=True {} GOT:{u'nodes': [{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.567262+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None}]} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.134787s] ... ok {34} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.009415s] ... ok {34} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.009257s] ... ok GET: /v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'3dc15809-3ec9-42cb-848d-c21584b935d1', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.636233+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'3dc15809-3ec9-42cb-848d-c21584b935d1', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.636233+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /nodes/3dc15809-3ec9-42cb-848d-c21584b935d1 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'3dc15809-3ec9-42cb-848d-c21584b935d1', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.636233+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3dc15809-3ec9-42cb-848d-c21584b935d1/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.105925s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'invalid-format', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44cf363d-a4fb-40d2-bab0-a3f0f0c5449c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.047325s] ... ok {34} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.020791s] ... ok GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.492246+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.492246+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.147963s] ... ok {34} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.049430s] ... ok GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']}, {u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type-2', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1']}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-hardware-type-2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type-2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type-2', u'rel': u'bookmark'}]} {23} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.114080s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.684834+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {u'foo': u'bar'}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.684834+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {26} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.086549s] ... ok 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-a309112f-4d25-43d3-8311-f0915cb8f7b7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The reset_interfaces parameter can only be used when changing the node's driver.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.061306s] ... ok GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/7f7e77dd-2ef0-49b9-8d39-7e7738850c95', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7f7e77dd-2ef0-49b9-8d39-7e7738850c95', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'7f7e77dd-2ef0-49b9-8d39-7e7738850c95', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'fab6a31b-d139-455e-8cf8-dc98f18b6c7d', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.508624+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/7f7e77dd-2ef0-49b9-8d39-7e7738850c95/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7f7e77dd-2ef0-49b9-8d39-7e7738850c95/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/deb6a64b-c64a-47e8-8b53-a2c07d660096', u'rel': u'self'}, {u'href': u'http://localhost/nodes/deb6a64b-c64a-47e8-8b53-a2c07d660096', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'deb6a64b-c64a-47e8-8b53-a2c07d660096', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'de913606-cbd2-4caa-9889-11a302daf780', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.516548+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/deb6a64b-c64a-47e8-8b53-a2c07d660096/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/deb6a64b-c64a-47e8-8b53-a2c07d660096/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1453f5e5-d08e-4e47-868c-0f358ca57168', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1453f5e5-d08e-4e47-868c-0f358ca57168', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1453f5e5-d08e-4e47-868c-0f358ca57168', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'db4e2d4c-cb6d-471a-818a-633996b00988', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.524609+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1453f5e5-d08e-4e47-868c-0f358ca57168/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1453f5e5-d08e-4e47-868c-0f358ca57168/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}], u'next': u'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=1453f5e5-d08e-4e47-868c-0f358ca57168'} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.157246s] ... ok GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c1c8335-2820-4c43-94d1-c81386dd293d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute associated. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.095858s] ... ok {34} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image_no_root [0.045598s] ... 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-20e843e1-1623-42c5-af92-52b8038798c8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.058857s] ... ok POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-cfc4112f-e55f-4af5-bd08-ace5e57e7015 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 null {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.056909s] ... ok GET: /v1/nodes?instance_uuid=f1ac1074-be55-421d-8934-e37fb9cc4ad4 {} GOT:{u'nodes': []} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.059617s] ... ok {34} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.035548s] ... ok {34} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.009347s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'value': 'fake-state', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6cf9d250-78c8-47ed-b80b-c366bbd489a3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/power_state' is an internal attribute and can not be updated\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.055692s] ... ok {34} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.025588s] ... ok GET: /v1/ports/?limit=3 {} GOT:{u'ports': [{u'uuid': u'26b93192-1c4f-4aa0-9f06-ab9bc26af973', u'links': [{u'href': u'http://localhost/v1/ports/26b93192-1c4f-4aa0-9f06-ab9bc26af973', u'rel': u'self'}, {u'href': u'http://localhost/ports/26b93192-1c4f-4aa0-9f06-ab9bc26af973', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'819b4f89-b911-4375-97dc-59545857ca27', u'links': [{u'href': u'http://localhost/v1/ports/819b4f89-b911-4375-97dc-59545857ca27', u'rel': u'self'}, {u'href': u'http://localhost/ports/819b4f89-b911-4375-97dc-59545857ca27', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'320ab41c-4a52-4ba1-ab3d-8940c2bff494', u'links': [{u'href': u'http://localhost/v1/ports/320ab41c-4a52-4ba1-ab3d-8940c2bff494', u'rel': u'self'}, {u'href': u'http://localhost/ports/320ab41c-4a52-4ba1-ab3d-8940c2bff494', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/ports?sort_dir=asc&sort_key=id&fields=uuid,address&limit=3&marker=320ab41c-4a52-4ba1-ab3d-8940c2bff494'} {27} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.103248s] ... ok GET: /v1/nodes?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8d1e3c9-851d-4816-9a28-79cc666dca4f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.050429s] ... ok {34} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.017473s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-afe32d05-4a44-4f79-b274-15eca96ef2e8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.044953s] ... ok {34} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.012977s] ... ok {34} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.009597s] ... ok {34} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.009346s] ... ok 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-497fd10f-4542-4941-9812-dcc85d758421 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.063662s] ... ok GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} {23} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.070951s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.059140s] ... ok PATCH: /v1/nodes/425f7adb-d048-40ab-aad6-390a41002b77 [{'path': '/conductor', 'value': 'why care', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7b1b740-51b7-41ab-84f8-50129f066055 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/conductor' is an internal attribute and can not be updated\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.094960s] ... ok {34} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_exceed_iterations [0.076007s] ... ok GET: /v1/nodes?conductor_group=group1 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/52730bd3-c403-47c7-8207-7886248311a1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/52730bd3-c403-47c7-8207-7886248311a1', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'52730bd3-c403-47c7-8207-7886248311a1'}]} GET: /v1/nodes?conductor_group=group2 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/83b96486-0521-4f44-a346-65011b72e3f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/83b96486-0521-4f44-a346-65011b72e3f2', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'83b96486-0521-4f44-a346-65011b72e3f2'}]} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/52730bd3-c403-47c7-8207-7886248311a1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/52730bd3-c403-47c7-8207-7886248311a1', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'group1', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/52730bd3-c403-47c7-8207-7886248311a1/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/52730bd3-c403-47c7-8207-7886248311a1/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'52730bd3-c403-47c7-8207-7886248311a1', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/52730bd3-c403-47c7-8207-7886248311a1/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/52730bd3-c403-47c7-8207-7886248311a1/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.482865+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/52730bd3-c403-47c7-8207-7886248311a1/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/52730bd3-c403-47c7-8207-7886248311a1/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/52730bd3-c403-47c7-8207-7886248311a1/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/52730bd3-c403-47c7-8207-7886248311a1/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group2 {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/83b96486-0521-4f44-a346-65011b72e3f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/83b96486-0521-4f44-a346-65011b72e3f2', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'group2', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/83b96486-0521-4f44-a346-65011b72e3f2/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/83b96486-0521-4f44-a346-65011b72e3f2/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'83b96486-0521-4f44-a346-65011b72e3f2', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/83b96486-0521-4f44-a346-65011b72e3f2/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/83b96486-0521-4f44-a346-65011b72e3f2/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.491143+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/83b96486-0521-4f44-a346-65011b72e3f2/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/83b96486-0521-4f44-a346-65011b72e3f2/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/83b96486-0521-4f44-a346-65011b72e3f2/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/83b96486-0521-4f44-a346-65011b72e3f2/ports', u'rel': u'bookmark'}]}]} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.257823s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71a5647d-d1ae-44fe-a645-e5bfd179d094 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.682084+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {32} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.087103s] ... ok GET: /v1/nodes/detail?associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/0f34d904-36e7-43f8-b534-85d8ede78c86', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0f34d904-36e7-43f8-b534-85d8ede78c86', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'0f34d904-36e7-43f8-b534-85d8ede78c86', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'28352e09-8050-4777-9c5c-59813f54675f', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.734114+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/0f34d904-36e7-43f8-b534-85d8ede78c86/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0f34d904-36e7-43f8-b534-85d8ede78c86/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/63acdf3a-ef65-4107-8bd6-a773f12134b3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/63acdf3a-ef65-4107-8bd6-a773f12134b3', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'63acdf3a-ef65-4107-8bd6-a773f12134b3', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'8d3aab07-8427-4400-99a3-de9ffe787f5f', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.742301+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/63acdf3a-ef65-4107-8bd6-a773f12134b3/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/63acdf3a-ef65-4107-8bd6-a773f12134b3/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/e1a3a958-a475-4b70-8351-d1c0a3621d2c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e1a3a958-a475-4b70-8351-d1c0a3621d2c', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'e1a3a958-a475-4b70-8351-d1c0a3621d2c', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'9ecfd9c3-97e2-4c6c-a3ff-e6a423764e95', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.750272+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/e1a3a958-a475-4b70-8351-d1c0a3621d2c/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e1a3a958-a475-4b70-8351-d1c0a3621d2c/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/b83d2809-79d8-48fb-9180-1c87c58af97b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b83d2809-79d8-48fb-9180-1c87c58af97b', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'b83d2809-79d8-48fb-9180-1c87c58af97b', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'25efe96c-6874-4a72-aae7-c6080a54bfb3', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.758220+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/b83d2809-79d8-48fb-9180-1c87c58af97b/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b83d2809-79d8-48fb-9180-1c87c58af97b/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {37} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.170216s] ... ok 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-487a9636-c00b-4a2c-9535-afa32574cab1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.077668s] ... ok {34} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.045581s] ... ok {34} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.008221s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a25756cb-346b-4a72-ad58-8a6ab67a8471 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.047735s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.329692+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.329692+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.089388s] ... ok {34} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.009423s] ... ok PATCH: /v1/nodes/a5cd14ef-3a06-49bc-ac90-69a3fd73b99e [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-06f9c0fd-9d69-4353-806f-2ab24b453a42 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.067368s] ... ok {34} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.009882s] ... ok GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.062084s] ... ok 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-c911cc8e-8562-4780-b8eb-2bbf75b59396 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.068733s] ... ok {34} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.009131s] ... ok GET: /v1/nodes/spam/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {37} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.060455s] ... ok {34} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.011464s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.060160s] ... ok {34} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.011187s] ... ok {34} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.013147s] ... ok {34} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.005982s] ... ok {34} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.005913s] ... ok {34} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.006355s] ... ok {34} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.006862s] ... ok GET: /v1/nodes/detail?resource_class=foo {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/b0d0fa96-93c3-46d2-8565-a8bda3379b37', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b0d0fa96-93c3-46d2-8565-a8bda3379b37', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/b0d0fa96-93c3-46d2-8565-a8bda3379b37/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b0d0fa96-93c3-46d2-8565-a8bda3379b37/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'b0d0fa96-93c3-46d2-8565-a8bda3379b37', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2020-11-20T07:00:33.526985+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/b0d0fa96-93c3-46d2-8565-a8bda3379b37/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b0d0fa96-93c3-46d2-8565-a8bda3379b37/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/69ee2a41-c5a4-4eb4-8a08-f5c12ed09264', u'rel': u'self'}, {u'href': u'http://localhost/nodes/69ee2a41-c5a4-4eb4-8a08-f5c12ed09264', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/69ee2a41-c5a4-4eb4-8a08-f5c12ed09264/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/69ee2a41-c5a4-4eb4-8a08-f5c12ed09264/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'69ee2a41-c5a4-4eb4-8a08-f5c12ed09264', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'bar', u'created_at': u'2020-11-20T07:00:33.535132+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/69ee2a41-c5a4-4eb4-8a08-f5c12ed09264/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/69ee2a41-c5a4-4eb4-8a08-f5c12ed09264/ports', u'rel': u'bookmark'}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.153619s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': [{'interface': 'deploy', 'step': 'upgrade_firmware'}], 'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-00a6cd2f-f282-4fc6-9111-dc9f4d7a26bc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"bad\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.080186s] ... ok POST: /v1/ports {'local_link_connection': {'switch_foo': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': 'value1'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c50feb1-20ef-4499-8d49-d8581858386d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"set(['switch_foo']) are invalid keys\"}"} {38} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.071803s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-47cda118-a622-4e3e-a9e1-89eced41c721 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.064684s] ... ok GET: /v1/ports/detail?node=test-node {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.241011+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {27} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.062706s] ... ok GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ed5afd1-ddf7-4387-ac91-a0bf6ab520da X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.039163s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e222db1b-a427-42fe-993b-957ffa94af24 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.058018s] ... ok GET: /v1/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {38} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.033996s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7fd516cc-8865-4f32-9f1a-20edc9647be2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.068162s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0de9be76-4183-4be8-ac12-2dc497d4275f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.057892s] ... ok GET: /v1/nodes?driver=ipmi {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/abc0e950-47bd-4ada-af88-f3bc4c14057d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/abc0e950-47bd-4ada-af88-f3bc4c14057d', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'abc0e950-47bd-4ada-af88-f3bc4c14057d'}]} GET: /v1/nodes?driver=fake-hardware {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ac1cf4d9-1ddf-488c-a346-e0802ed518a6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ac1cf4d9-1ddf-488c-a346-e0802ed518a6', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'ac1cf4d9-1ddf-488c-a346-e0802ed518a6'}]} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.149574s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.559142+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.559142+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9769bd5a-0ede-4d24-8897-34f123c37f3f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.050630s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.084556s] ... ok PATCH: /v1/nodes/efc9e0d3-9d66-4693-a0f7-1297ed9fc164 [{'path': '/deploy_step', 'value': 'deploy this', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f77c1ba9-1aab-49b4-a3f2-f1cc5b0c7fac X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.44 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/deploy_step' is an internal attribute and can not be updated\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.064876s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ead7ea20-0e65-4fcc-b32a-dca6002d5de7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.053399s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-207b4c87-3b72-4d15-b2a1-339de6aeabb2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.826556+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.074702s] ... ok GET: /v1/volume/targets/?limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'7f22a8c6-38a4-4376-b76e-ec9b52756929', u'links': [{u'href': u'http://localhost/v1/volume/targets/7f22a8c6-38a4-4376-b76e-ec9b52756929', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7f22a8c6-38a4-4376-b76e-ec9b52756929', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'87320a2a-8208-47b8-8c71-4825e8c60993', u'links': [{u'href': u'http://localhost/v1/volume/targets/87320a2a-8208-47b8-8c71-4825e8c60993', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/87320a2a-8208-47b8-8c71-4825e8c60993', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'5f3d3ccf-5230-471e-ab84-697a8a582986', u'links': [{u'href': u'http://localhost/v1/volume/targets/5f3d3ccf-5230-471e-ab84-697a8a582986', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/5f3d3ccf-5230-471e-ab84-697a8a582986', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=5f3d3ccf-5230-471e-ab84-697a8a582986'} {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.066197s] ... ok {33} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.100959s] ... ok {33} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.028672s] ... ok {33} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.030433s] ... ok {33} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.070110s] ... ok {33} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.047519s] ... ok {33} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_version_and_cap [0.014436s] ... ok {33} ironic.tests.unit.common.test_json_rpc.TestClient.test_mask_secrets [0.022191s] ... ok {33} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.031681s] ... ok {33} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.028831s] ... ok {33} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.020474s] ... ok {33} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.029927s] ... ok {33} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.122207s] ... ok {33} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.025926s] ... ok {33} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.025526s] ... ok {33} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.026489s] ... ok {33} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.011774s] ... ok {33} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.013622s] ... ok {33} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.012409s] ... ok {33} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.048557s] ... ok {33} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.284243s] ... ok 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-d14657f6-7556-42fb-954e-9ed585c704e2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {33} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.293523s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.062457s] ... ok {33} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.256429s] ... ok {33} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.127716s] ... ok {33} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.122025s] ... ok {33} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.027440s] ... ok {33} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.065077s] ... ok {33} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.019833s] ... ok {33} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.090814s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [4.019568s] ... ok {33} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.160115s] ... ok {33} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.110535s] ... ok {33} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.264198s] ... ok {33} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.080050s] ... ok {33} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.077486s] ... ok {33} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.084161s] ... ok {33} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.008655s] ... ok {33} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.007860s] ... ok {33} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.048038s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.015731s] ... ok {33} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.017007s] ... ok {33} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.047211s] ... ok {33} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.030567s] ... ok {33} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.037480s] ... ok {33} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.093633s] ... ok {33} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.028328s] ... ok 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-b18bfb26-0aac-43ec-baaf-db5a65dfd864 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.064265s] ... ok {33} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.030035s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.016359s] ... ok {33} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.076736s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.015814s] ... ok {33} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.030209s] ... ok {33} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.078804s] ... ok {33} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.063483s] ... ok {33} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.085800s] ... ok {33} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.114314s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.711202+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.711202+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-eb22864e-7aee-4318-92c6-624c08c26a66 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'properties': {'bond_prop': 123}, 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3a8adff5-4bc9-4a01-953e-9131233d2cc9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.072234s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.083865s] ... ok {33} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.113084s] ... ok {33} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.082668s] ... ok {33} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.082891s] ... ok {33} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.092000s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.096156s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.127625s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.159239s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.121391s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.145962s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.071546s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.103818s] ... ok {33} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.070187s] ... ok {33} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.122712s] ... ok {33} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.091265s] ... ok {33} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.068506s] ... ok {33} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.095996s] ... ok {33} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.090040s] ... ok {33} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.054013s] ... ok {33} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.078189s] ... ok {33} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.054918s] ... ok {33} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_address [0.056903s] ... ok {33} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_image_source_is_url [0.140678s] ... ok {33} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_localboot_ppc64 [0.122037s] ... ok {33} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.059110s] ... ok {33} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_with_smartnic_port [0.060963s] ... ok {33} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.007171s] ... ok {33} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.007021s] ... ok {33} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.007994s] ... ok {33} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.013439s] ... ok {33} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.007953s] ... ok {33} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.074309s] ... ok {33} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.007882s] ... ok {33} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.024257s] ... ok {33} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.007872s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.010317s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.018100s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.016735s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.050668s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.083504s] ... ok {5} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device [0.111572s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.034156s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.088686s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.105997s] ... ok {5} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.007471s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.097492s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.162660s] ... ok {33} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.053601s] ... ok {33} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.073883s] ... ok {33} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.019834s] ... ok {33} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.079385s] ... ok {33} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.149594s] ... ok {33} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.045901s] ... ok {33} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.023173s] ... ok {33} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.012601s] ... ok {33} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.012430s] ... ok {33} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [1.015975s] ... ok {33} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.081905s] ... ok {33} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.018584s] ... ok {33} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.010798s] ... ok {33} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.061526s] ... ok {33} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.065911s] ... ok {33} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.016086s] ... ok GET: /v1/nodes/node.json.json {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': u'node.json', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.778433+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.073018s] ... ok {5} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_agent [0.048167s] ... ok {33} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.057599s] ... ok {33} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.007313s] ... ok {33} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.008685s] ... ok {33} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.016807s] ... ok {33} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.016458s] ... ok {33} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.019558s] ... ok {33} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.010451s] ... ok {33} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.013473s] ... ok {33} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.013060s] ... ok {33} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.023362s] ... ok {5} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.046118s] ... ok GET: /v1/ports?detail=True {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch', u'port_id': u'Gig0/1', u'switch_id': u'aa:bb:cc:dd:ee:ff'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.309087+00:00', u'is_smartnic': False}]} {27} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.072789s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7306b86c-d5a3-4d72-879f-9681b0eea7b5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"too many traits\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.069786s] ... ok PATCH: /v1/nodes/585bb5ad-8726-4b25-b714-f1aeb1934865 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-adc446df-439c-40cf-a1f7-1ae4f29c072e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.068789s] ... ok {5} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.048701s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-929e5aed-a396-4055-b326-b1157ba1f74a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6e28e418-3073-4099-a21c-2d53c26e350f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4b2d4b94-a65e-4fe7-b189-c735e59271e3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3f909877-4339-49ca-a109-2554d252b239 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {39} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.180628s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'ssh_password': u'******', u'ssh_key_contents': u'******'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.750443+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ssh_creds_masked [0.104630s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c061283-a11b-41eb-9820-ce908033f6b6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.078022s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81c7e6ca-fd45-4d7f-8b6f-fa4a2b36ec22 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.068507s] ... 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-c22a8ea2-9077-48a4-ae1a-1d20ad46a232 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.068085s] ... ok {5} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.049790s] ... ok PATCH: /v1/nodes/9f49c79a-9e39-406c-a445-0c18387d542f [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-781c2f26-b652-447a-a8b4-297267352324 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/9f49c79a-9e39-406c-a445-0c18387d542f", "rel": "self"}, {"href": "http://localhost/nodes/9f49c79a-9e39-406c-a445-0c18387d542f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "9f49c79a-9e39-406c-a445-0c18387d542f", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": true, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.853127+00:00", "ports": [{"href": "http://localhost/v1/nodes/9f49c79a-9e39-406c-a445-0c18387d542f/ports", "rel": "self"}, {"href": "http://localhost/nodes/9f49c79a-9e39-406c-a445-0c18387d542f/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.086003s] ... ok {5} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.045857s] ... ok GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-56e13798-b4d1-4033-9167-46fe811faabb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.049546s] ... ok {5} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.012128s] ... ok {5} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.007138s] ... ok 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-97f5db4c-4f48-4a7b-bba8-07a38a8de50a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.058392s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.011412s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-60cb8588-445c-446a-9317-f2e0874fc722 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.066252s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.010648s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.010484s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.011085s] ... ok {5} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.007423s] ... ok GET: /v1/ports {} GOT:{u'ports': []} {21} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.049714s] ... ok 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-5730de87-ebbd-495e-93cb-ab5d54406e93 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.936185+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {37} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.087864s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-9e9e2f15-a101-4d74-9dfb-30009bb24bbb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.066897s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-441fe53b-d2f0-4569-8bcd-056e9d454ad4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.066931s] ... ok 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-b070ef1b-05fe-4f7f-a05b-654857d244ef X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {39} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.053779s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-bf2fa996-be68-41be-8ffd-59057a710030 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.287349+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": null, "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.287349+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': None, u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {8} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.091001s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_event_missing_madatory_field [0.011998s] ... ok 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-6940606a-33ee-4dd8-b087-9eab31548760 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:34.728011+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {38} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.086527s] ... ok GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ba28c02f-4b73-491a-b9a2-8de10b37b251 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.040289s] ... 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-7c5e6137-ac5f-4ca4-806d-edb22ec45ee2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-57.1 could not be found.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.056882s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.377058+00:00'} {27} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.061613s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': '', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c874fb83-46ab-44dd-a644-7f2befffb8f1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.057020s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-720f95a8-3a3b-41ca-905a-cb4dd86ddfba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.058123s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.752083+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': u'useful piece', u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.752083+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {28} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.089334s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6768c00a-3096-4f2f-997d-4f095f095133 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\"}"} {39} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.068851s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7bb81262-d016-4574-87d8-6b807bb07774 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.878504+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.080994s] ... ok POST: /v1/volume/connectors {'node_uuid': 123, 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c4258ac-1eed-47e3-9cb7-7f6fc95cfb1f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.045286s] ... ok {8} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.011781s] ... ok {8} ironic.tests.unit.common.test_exception.TestIronicException.test___str__encoding [0.012730s] ... ok {8} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.012434s] ... ok {8} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.017760s] ... ok {8} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_serialization [0.031578s] ... ok {8} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.089635s] ... ok {8} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.012791s] ... ok {8} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.018999s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.064040s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.099946s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_volume_pxe_options [0.100173s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.093836s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.025878s] ... ok {8} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.011518s] ... ok {8} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.199397s] ... ok {8} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.089497s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.319951s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.243863s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.311850s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.295736s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.298395s] ... ok {8} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.034640s] ... ok {8} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.050026s] ... ok {8} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.199538s] ... ok {8} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.095908s] ... ok {8} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.017689s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.267313s] ... ok {8} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.123799s] ... ok {8} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.166241s] ... ok {8} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.307637s] ... ok {8} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.093635s] ... ok {8} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.095901s] ... ok {8} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.097637s] ... ok {8} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.034629s] ... ok {8} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.034065s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'vif_port_id': 'foo'}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-a2b2ffb6-bad5-4489-83a0-0ae96892738d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "created_at": "2020-11-20T07:00:34.519223+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "foo"}, "properties": {}, "name": "fooname"} {8} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.039463s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id [0.073477s] ... ok {8} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.055164s] ... ok 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-fe4aa2ad-c7bf-412c-a624-4b95abdfed5f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'value': u'1', 'op': 'replace'}'. Reason: can't replace non-existent object 'node_id'\"}"} {6} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.012041s] ... ok {8} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.044917s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.052986s] ... ok {8} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.065063s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_none [0.012263s] ... ok {8} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.062127s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.011065s] ... ok {8} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.031117s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.012270s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'69b561b4-5c59-4cb0-a5f1-ff583c13e043', u'links': [{u'href': u'http://localhost/v1/volume/connectors/69b561b4-5c59-4cb0-a5f1-ff583c13e043', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/69b561b4-5c59-4cb0-a5f1-ff583c13e043', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'60bce856-f1e9-4468-9444-1d23ba38c92f', u'links': [{u'href': u'http://localhost/v1/volume/connectors/60bce856-f1e9-4468-9444-1d23ba38c92f', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/60bce856-f1e9-4468-9444-1d23ba38c92f', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'69b561b4-5c59-4cb0-a5f1-ff583c13e043', u'links': [{u'href': u'http://localhost/v1/volume/connectors/69b561b4-5c59-4cb0-a5f1-ff583c13e043', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/69b561b4-5c59-4cb0-a5f1-ff583c13e043', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=1&marker=69b561b4-5c59-4cb0-a5f1-ff583c13e043'} {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.137212s] ... ok {8} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.107618s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.092976s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.028715s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.079047s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-184962f4-ba9d-4c44-8ee0-11c6f540c894 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:{u'physical_network': u'physnet1', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}]} {8} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status [0.054481s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.072026s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.137239s] ... ok {8} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.075263s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.116513s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.138980s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.099166s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.035722s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.034060s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_without_logs [0.063118s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_processing_on_any_url_fails [0.071426s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.063819s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.051756s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.078569s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.099257s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.109156s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.063713s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.026819s] ... ok {8} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.079092s] ... ok {8} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.107765s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.115707s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_no_proxy_without_proxies [0.123121s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.069681s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ef39629-8ff7-4662-990d-a067d7bf19fb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.049016s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started [0.062249s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.018917s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.678578s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.017584s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.092509s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.095615s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_configure_tenant_network_exception [0.172279s] ... ok GET: /v1/nodes?owner=fred {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6'}]} GET: /v1/nodes?owner=bob {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'5f4e0a52-b338-4b2f-85ab-2362bbd57717'}]} GET: /v1/nodes/detail?owner=fred {} GOT:{u'nodes': [{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.587842+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': u'fred', u'ports': [{u'href': u'http://localhost/v1/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0c6f41f7-d251-49dc-9c8c-e06f9e23b7d6/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail?owner=bob {} GOT:{u'nodes': [{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'5f4e0a52-b338-4b2f-85ab-2362bbd57717', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.595924+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'owner': u'bob', u'ports': [{u'href': u'http://localhost/v1/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5f4e0a52-b338-4b2f-85ab-2362bbd57717/ports', u'rel': u'bookmark'}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.262521s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.013393s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.016711s] ... ok PATCH: /v1/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b8eabc1e-176b-46ba-a284-4e38a37a68bb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa", "rel": "self"}, {"href": "http://localhost/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/states", "rel": "self"}, {"href": "http://localhost/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/states", "rel": "bookmark"}], "traits": [], "provision_state": "active", "clean_step": {}, "vendor_interface": null, "uuid": "4bcae23c-55da-4a63-a6cd-e24b3d40dbaa", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/volume", "rel": "self"}, {"href": "http://localhost/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.762633+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/ports", "rel": "self"}, {"href": "http://localhost/nodes/4bcae23c-55da-4a63-a6cd-e24b3d40dbaa/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.092089s] ... ok {8} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.017833s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.033908s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.098234s] ... ok GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ef00ad63-534f-467d-90a8-ea8a6acd26fe X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {39} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.043636s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.028958s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.156416s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.008430s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.022686s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.027423s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'fe3ea853-4478-445c-aedd-bd4adedace14', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf05ed2b-8d2e-4008-a9dc-9591cf8f1ad6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "fe3ea853-4478-445c-aedd-bd4adedace14", "updated_at": "2020-11-20T07:00:34.234282+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.174153+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.110858s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.148100s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.104828s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.007010s] ... ok {8} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_error [0.016089s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.081541s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.026527s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.030042s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.080784s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.147576s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.048695s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.134130s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.497504s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy_with_smartnic_port [0.246200s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.015441s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-2ddd06e9-8e93-469f-b6e0-7873cebfb826 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "cinder", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.014988s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.111115s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.011212s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.011131s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.011590s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.011386s] ... ok {8} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_down [0.103770s] ... ok GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'ports': []} {8} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.054760s] ... ok {8} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.009217s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.045084s] ... ok {8} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.011205s] ... ok GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'ea439655-c843-4966-9b8e-0a09b55cedb5', u'links': [{u'href': u'http://localhost/v1/ports/ea439655-c843-4966-9b8e-0a09b55cedb5', u'rel': u'self'}, {u'href': u'http://localhost/ports/ea439655-c843-4966-9b8e-0a09b55cedb5', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'2eb2e076-aac2-4e06-9165-c59a16b31e05', u'links': [{u'href': u'http://localhost/v1/ports/2eb2e076-aac2-4e06-9165-c59a16b31e05', u'rel': u'self'}, {u'href': u'http://localhost/ports/2eb2e076-aac2-4e06-9165-c59a16b31e05', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'0d135a2e-67da-4dd0-8fa4-d8f629f39d00', u'links': [{u'href': u'http://localhost/v1/ports/0d135a2e-67da-4dd0-8fa4-d8f629f39d00', u'rel': u'self'}, {u'href': u'http://localhost/ports/0d135a2e-67da-4dd0-8fa4-d8f629f39d00', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/ports?sort_dir=asc&sort_key=id&fields=uuid,address&limit=3&marker=0d135a2e-67da-4dd0-8fa4-d8f629f39d00'} {22} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.104878s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-811a9a71-372b-405c-bf2c-7ea008a23daf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.819449+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {8} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.070157s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.085781s] ... ok {8} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.011891s] ... ok {8} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.007048s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.011986s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.011294s] ... ok {8} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.012293s] ... ok {8} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.012312s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.006572s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.005943s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.006642s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.006284s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.007117s] ... ok {8} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.009935s] ... ok {8} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.010252s] ... ok {8} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.013055s] ... ok PATCH: /v1/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3 [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1dcad474-0408-4403-b637-a2ed80692b45 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3", "rel": "self"}, {"href": "http://localhost/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/states", "rel": "self"}, {"href": "http://localhost/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "aa384258-eb33-4a79-9bc5-adab0d60d6a3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/volume", "rel": "self"}, {"href": "http://localhost/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.032819+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/ports", "rel": "self"}, {"href": "http://localhost/nodes/aa384258-eb33-4a79-9bc5-adab0d60d6a3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.113668s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2f9924ba-5a43-4307-98ba-428c8a3de52c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {35} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.056911s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-93e169ba-f5ac-409a-ae1c-57fe03587e5b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "deadbeef-0000-1111-2222-333333333333", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.033927+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "bookmark"}]} {37} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.084482s] ... ok 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-f49ff0fe-2919-4322-ba25-1de5c0bbc2c9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {38} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.052229s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.803441+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': u'fish', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.803441+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.088481s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': False, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.285701+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.066050s] ... ok PATCH: /v1/ports/c1964997-7ffa-486c-bb23-09198bf3d6d1 [{'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-042e6a6e-ab9b-4d70-b1b5-72d1691163a7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "c1964997-7ffa-486c-bb23-09198bf3d6d1", "links": [{"href": "http://localhost/v1/ports/c1964997-7ffa-486c-bb23-09198bf3d6d1", "rel": "self"}, {"href": "http://localhost/ports/c1964997-7ffa-486c-bb23-09198bf3d6d1", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.495528+00:00", "address": "52:55:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar", "bar": "buzz"}, "created_at": "2020-11-20T07:00:34.446489+00:00"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id [0.103196s] ... ok GET: /v1/nodes?instance_uuid=44732646-c779-48e0-98cf-e174c2cddf8f {} GOT:{u'nodes': [{u'instance_uuid': u'44732646-c779-48e0-98cf-e174c2cddf8f', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6c59d0e8-5ac7-4f14-9aca-b6c4199fe05e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6c59d0e8-5ac7-4f14-9aca-b6c4199fe05e', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'6c59d0e8-5ac7-4f14-9aca-b6c4199fe05e'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.065279s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '56d345bf-cacf-4e50-977d-e94cf76ddc06', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b95749e8-7522-4e87-ba4f-d1e64254679e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.052185s] ... 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-22c16c01-4cb8-4a94-9195-e40ceff7665f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.923272+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.085927s] ... ok GET: /v1/nodes?fault=power failure {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/38b5b41e-5bd2-441e-a44b-08109562b654', u'rel': u'self'}, {u'href': u'http://localhost/nodes/38b5b41e-5bd2-441e-a44b-08109562b654', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'38b5b41e-5bd2-441e-a44b-08109562b654'}]} GET: /v1/nodes?fault=clean failure {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'a5c09663-4f0e-422a-9997-bc2a91288ef8'}]} GET: /v1/nodes/detail?fault=power failure {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/38b5b41e-5bd2-441e-a44b-08109562b654', u'rel': u'self'}, {u'href': u'http://localhost/nodes/38b5b41e-5bd2-441e-a44b-08109562b654', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'38b5b41e-5bd2-441e-a44b-08109562b654', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': u'power failure', u'created_at': u'2020-11-20T07:00:33.612093+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/38b5b41e-5bd2-441e-a44b-08109562b654/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail?fault=clean failure {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'a5c09663-4f0e-422a-9997-bc2a91288ef8', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': u'clean failure', u'created_at': u'2020-11-20T07:00:33.620369+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a5c09663-4f0e-422a-9997-bc2a91288ef8/ports', u'rel': u'bookmark'}]}]} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.256784s] ... ok GET: /v1/nodes?resource_class=test {} GOT:{u'nodes': []} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.081185s] ... ok PATCH: /v1/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1 [{'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-c501de15-a9f1-46fb-a6c8-ac475562ae2b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1", "rel": "self"}, {"href": "http://localhost/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/states", "rel": "self"}, {"href": "http://localhost/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/states", "rel": "bookmark"}], "traits": [], "provision_state": "active", "clean_step": {}, "vendor_interface": null, "uuid": "3bd52023-58e4-4bab-bb95-8b574c06e0b1", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.844014+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/3bd52023-58e4-4bab-bb95-8b574c06e0b1/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.088058s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'AA:AA:AA:11:22:33', 'is_smartnic': False} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1f532554-079e-4d7b-bc24-893e1b10a597 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.086133s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': u'fake.conductor', u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.851651+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.067744s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info {} GOT:{u'driver_info': {u'fake_password': u'******'}, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.068202s] ... ok GET: /v1/ports?node=test-node {} GOT:{u'ports': [{u'uuid': u'56a80e8b-2584-4bb2-a880-5ca92932d8b1', u'links': [{u'href': u'http://localhost/v1/ports/56a80e8b-2584-4bb2-a880-5ca92932d8b1', u'rel': u'self'}, {u'href': u'http://localhost/ports/56a80e8b-2584-4bb2-a880-5ca92932d8b1', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'26408ffe-145c-43d0-aac8-6f5367dd211d', u'links': [{u'href': u'http://localhost/v1/ports/26408ffe-145c-43d0-aac8-6f5367dd211d', u'rel': u'self'}, {u'href': u'http://localhost/ports/26408ffe-145c-43d0-aac8-6f5367dd211d', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'654bfbbd-713f-46f2-a508-3f479671c24e', u'links': [{u'href': u'http://localhost/v1/ports/654bfbbd-713f-46f2-a508-3f479671c24e', u'rel': u'self'}, {u'href': u'http://localhost/ports/654bfbbd-713f-46f2-a508-3f479671c24e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} 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-877f979c-5eb0-424a-8d17-1c3c4ef8cfe9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.049083s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.105023s] ... ok GET: /v1/ports?sort_key=uuid {} GOT:{u'ports': [{u'uuid': u'38e92350-af51-4d0f-9beb-2fda8d39b7f9', u'links': [{u'href': u'http://localhost/v1/ports/38e92350-af51-4d0f-9beb-2fda8d39b7f9', u'rel': u'self'}, {u'href': u'http://localhost/ports/38e92350-af51-4d0f-9beb-2fda8d39b7f9', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'7040df36-bfbe-46ed-96e3-4a625bfd5079', u'links': [{u'href': u'http://localhost/v1/ports/7040df36-bfbe-46ed-96e3-4a625bfd5079', u'rel': u'self'}, {u'href': u'http://localhost/ports/7040df36-bfbe-46ed-96e3-4a625bfd5079', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'995b2526-647f-4179-9b10-4af9d59dad0d', u'links': [{u'href': u'http://localhost/v1/ports/995b2526-647f-4179-9b10-4af9d59dad0d', u'rel': u'self'}, {u'href': u'http://localhost/ports/995b2526-647f-4179-9b10-4af9d59dad0d', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {39} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.095973s] ... ok GET: /v1/portgroups?detail=False&fields=internal_info {} GOT:{u'portgroups': [{u'internal_info': {u'bar': u'buzz'}, u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}]}]} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.063584s] ... ok GET: /v1/volume/connectors?node=test-node {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'ae622b09-b9d0-4f47-9525-ab6bc674da44', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ae622b09-b9d0-4f47-9525-ab6bc674da44', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ae622b09-b9d0-4f47-9525-ab6bc674da44', u'rel': u'bookmark'}], u'connector_id': u'test-value-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'5cf4673f-43de-49ab-9ef1-e433ef695d64', u'links': [{u'href': u'http://localhost/v1/volume/connectors/5cf4673f-43de-49ab-9ef1-e433ef695d64', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5cf4673f-43de-49ab-9ef1-e433ef695d64', u'rel': u'bookmark'}], u'connector_id': u'test-value-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'6bfbade4-611c-41de-9dd4-483a3b57272e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/6bfbade4-611c-41de-9dd4-483a3b57272e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/6bfbade4-611c-41de-9dd4-483a3b57272e', u'rel': u'bookmark'}], u'connector_id': u'test-value-2'}]} {6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.099356s] ... ok PATCH: /v1/nodes/64f13e39-260c-436e-b5b0-d933dfe407ac [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6c3f58e5-ec7a-4a51-a2f8-4cbe71d5b8fc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.067931s] ... ok GET: /v1/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'links': [{u'href': u'http://localhost/v1/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'rel': u'self'}, {u'href': u'http://localhost/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.023886+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'links': [{u'href': u'http://localhost/v1/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'rel': u'self'}, {u'href': u'http://localhost/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.023886+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'links': [{u'href': u'http://localhost/v1/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'rel': u'self'}, {u'href': u'http://localhost/ports/6002dc2a-c95f-493e-bfd4-d42214fedfe9', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.023886+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {21} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.109780s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'raid_config': {u'foo': u'bar'}, u'provision_updated_at': u'2000-01-01T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state', u'target_raid_config': {u'foo': u'bar'}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.060834s] ... ok 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-8eb4e0af-606e-4075-8d06-230d2a220225 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/chassis_id) to the root of the resource is not allowed\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.068427s] ... ok 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-021b8caf-73ef-4549-aff5-4ba084a654ba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.053121s] ... ok PATCH: /v1/nodes/2e448f1a-9394-4983-872b-a3cf3795933f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6c392dc-2088-4b14-bc03-d3a9427f7928 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/2e448f1a-9394-4983-872b-a3cf3795933f", "rel": "self"}, {"href": "http://localhost/nodes/2e448f1a-9394-4983-872b-a3cf3795933f", "rel": "bookmark"}], "target_provision_state": "active", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "2e448f1a-9394-4983-872b-a3cf3795933f", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.923134+00:00", "ports": [{"href": "http://localhost/v1/nodes/2e448f1a-9394-4983-872b-a3cf3795933f/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e448f1a-9394-4983-872b-a3cf3795933f/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.083987s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.826248+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.826248+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.085908s] ... ok 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-bb2ed72f-b03c-47ee-a91a-7acc53e3a472 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.404262+00:00", "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.340228+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.113222s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.018731s] ... ok GET: /v1/volume/targets?detail=False {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.066323s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dc21713e-c160-4c43-92ac-cb8c5b443a1c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.053144s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.842230+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.842230+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {28} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.086643s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-92583216-58a5-406e-a41c-15f05dd77859 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "created_at": "2020-11-20T07:00:34.921210+00:00", "updated_at": "2020-11-20T07:00:34.974980+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar"}, "properties": {}, "name": "fooname"} {38} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_replace_extra_vif_port_id [0.104446s] ... ok 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-ac1d1c78-cd60-4a84-9adb-4b2277ad767e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.057269s] ... ok GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-17dcd903-5029-41db-a296-39166a265413 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.063374s] ... ok GET: /v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476', u'rel': u'self'}, {u'href': u'http://foo/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'b3c64df7-9ca5-492c-a54a-dff303b51476', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.903172+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476', u'rel': u'self'}, {u'href': u'http://foo/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'b3c64df7-9ca5-492c-a54a-dff303b51476', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.903172+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /nodes/b3c64df7-9ca5-492c-a54a-dff303b51476 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476', u'rel': u'self'}, {u'href': u'http://foo/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'b3c64df7-9ca5-492c-a54a-dff303b51476', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.903172+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/b3c64df7-9ca5-492c-a54a-dff303b51476/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.108851s] ... ok 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-19961eaf-abe5-4ff8-ab6b-b9c24d6ebdef X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {39} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.061291s] ... ok 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-3044f156-b13b-4895-a60e-b2207439949e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.086591+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {35} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.091181s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Keystone uri="https://127.0.0.1:35357" {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}} {6} ironic.tests.unit.api.test_acl.TestACL.test_non_authenticated [0.042488s] ... 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-19db6324-27b1-4fab-b2e6-78302b00a431 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.618160+00:00", "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.565608+00:00"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.103948s] ... ok 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-d8a17426-da8c-46e5-883e-50bc4f351986 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.594699+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.089026s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3201a0c2-c59e-45d6-ae42-eca7f5e81389 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.074018s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-17f3ca0d-e50e-485e-a586-cc0bcc824cf4 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {6} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.034113s] ... 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-96f75c82-e1e7-4141-878f-5607df9c7511 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.059234s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2809747a-6ae0-45ce-93a4-fa1d48a5605e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.045315s] ... ok Running batches of 50 until migrations have been completed. {6} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.019718s] ... ok {6} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.012602s] ... ok {6} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.018655s] ... ok {6} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.022882s] ... ok {6} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.015138s] ... ok {6} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.069283s] ... ok {6} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.014185s] ... ok {6} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.016532s] ... ok {6} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.099920s] ... ok {6} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.139558s] ... ok {6} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.018587s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.065234s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'resource_class': 'class2', 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-648521e9-e037-4ee1-8af8-997fffd6e15e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": "class2", "created_at": "2020-11-20T07:00:33.853280+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'class2', u'created_at': u'2020-11-20T07:00:33.853280+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.107757s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.105341s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.134518s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.079812s] ... ok {6} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.024079s] ... ok {6} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.088459s] ... ok {6} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.067291s] ... ok {6} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.287504s] ... ok {6} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.041971s] ... ok PATCH: /v1/nodes/3be6844c-3867-42c6-8532-08d6fd2d942e [{'path': '/allocation_uuid', 'value': '193f45f0-d034-4a69-9c5b-b0ab1052462d', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-24bfed28-b5ce-4974-98a5-33956cc0196c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/allocation_uuid' is an internal attribute and can not be updated\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.064789s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.291755s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.281579s] ... ok {6} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.246847s] ... ok {6} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.100166s] ... ok GET: /v1/nodes?maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/4f248f4e-286e-42b3-826d-2f37b954c6f5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4f248f4e-286e-42b3-826d-2f37b954c6f5', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4f248f4e-286e-42b3-826d-2f37b954c6f5'}, {u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/89342fbd-a5d3-4f01-9ab3-fbf975cf1006', u'rel': u'self'}, {u'href': u'http://localhost/nodes/89342fbd-a5d3-4f01-9ab3-fbf975cf1006', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'89342fbd-a5d3-4f01-9ab3-fbf975cf1006'}]} GET: /v1/nodes?maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/85b9690c-842b-49fe-b991-071361034f92', u'rel': u'self'}, {u'href': u'http://localhost/nodes/85b9690c-842b-49fe-b991-071361034f92', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'85b9690c-842b-49fe-b991-071361034f92'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2610f748-0f61-4f1b-b34e-67734309a0f5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2610f748-0f61-4f1b-b34e-67734309a0f5', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2610f748-0f61-4f1b-b34e-67734309a0f5'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/66daaa6b-0951-42a8-b69a-ab2e7a5b1240', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66daaa6b-0951-42a8-b69a-ab2e7a5b1240', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'66daaa6b-0951-42a8-b69a-ab2e7a5b1240'}]} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.192841s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.412921s] ... ok PATCH: /v1/nodes/b9eaa9df-ee97-4d73-a0dc-cff30b20a1a0 [{'path': '/allocation_uuid', 'value': '843b7c31-5f4f-4473-9592-af360b0c6cfa', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-31052c67-3187-4831-b3e0-2329b35c62ba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/allocation_uuid' is an internal attribute and can not be updated\"}"} {6} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.037302s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.068070s] ... ok {6} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.032420s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.639632+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.639632+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {6} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.037922s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.085294s] ... ok {6} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.096766s] ... ok {6} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.071532s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'bad-driver', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9c85d4bb-42aa-435e-98aa-afc71ba74749 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {6} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {35} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.077812s] ... ok {6} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.036648s] ... ok /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert UcsOperationError(u'%(operation)s failed, error: %(error)s',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {6} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.077108s] ... ok {6} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.034319s] ... ok {6} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.035249s] ... ok {6} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.034766s] ... ok {6} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.032693s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.046518s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.063675s] ... ok {6} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.094241s] ... ok {6} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_properties [0.087366s] ... ok {6} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_sensors_data [0.065465s] ... ok {6} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_fail [0.072038s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.031408s] ... ok {6} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.065605s] ... ok {6} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.019939s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.030110s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.015353s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.120024s] ... ok 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-e0e46b27-60cc-499d-b0cb-5e062c15b3fe X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.084855s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.057411s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.039089s] ... ok GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:34.034765+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [u'CUSTOM_1'], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:34.034765+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.178947s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid [0.141958s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.091201s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.076924s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.130497s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.128987s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.139454s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.060243s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.076928s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.018378s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.044815s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.061260s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.065878s] ... ok 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-a5d228ad-60ec-44f1-ae86-100caa428753 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2020-11-20T07:00:34.645244+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {6} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.027785s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.090868s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.078711s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.084007s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.090321s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.027265s] ... ok {6} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.078310s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.050944s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.025120s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.016553s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_off_fails [0.134399s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.093054s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.014186s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.015173s] ... ok PATCH: /v1/portgroups/27b43c34-a3ba-4a2e-8c34-ef93bce20b84 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-05fbcfd0-0f6f-4980-abb4-c2d5c766514a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup 27b43c34-a3ba-4a2e-8c34-ef93bce20b84 could not be found.\"}"} {6} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.031038s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.052422s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.016149s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.111747s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.187267s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.041055s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.020738s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.020315s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.096428s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.079432s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.208108s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.027512s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.071649s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.079553s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.012720s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.012976s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.013031s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.013739s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.013137s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.017142s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.012473s] ... ok {6} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.007756s] ... ok {6} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.025794s] ... ok {6} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.017066s] ... ok {6} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.021110s] ... ok {6} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.055426s] ... ok {6} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.013571s] ... ok {6} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.015194s] ... ok {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.011663s] ... ok {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.012286s] ... ok {6} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.012098s] ... ok {6} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.011587s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.007540s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.008263s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.009062s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.008729s] ... ok {6} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.010892s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5ccae5dd-426a-4294-af21-e75478a24c65 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.052307s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52-54-00-cf-2d-31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ef85f5a-ad66-4b3e-98a3-bb145fe09c9b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.044144s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value [0.014023s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d2f0ebb6-15a6-4e4d-9925-4b3b5892e151 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.075812s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.012126s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive_fails [0.023676s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-eb652325-6124-4d86-b5c6-36ff7cb1371f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.947938+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'enroll', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:33.947938+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.104836s] ... ok PATCH: /v1/nodes/53f4afe3-1ef1-4339-8d2e-bc6c5ab2c8bc [{'path': '/name', 'value': 'this-is-my-node', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9a74a041-75da-495c-9a9d-bdaf6e376d78 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.086230s] ... ok 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-73724bb3-e73b-4bc9-bbbf-0378f6b955eb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.069040s] ... ok PATCH: /v1/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0380573-d3cd-4637-8eb4-1ca1d628312a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541", "rel": "self"}, {"href": "http://localhost/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/states", "rel": "self"}, {"href": "http://localhost/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/states", "rel": "bookmark"}], "traits": [], "provision_state": "inspecting", "clean_step": {}, "vendor_interface": null, "uuid": "d54539d2-0ce3-434a-9955-feb4dfef7541", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/volume", "rel": "self"}, {"href": "http://localhost/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2020-11-20T07:00:34.119892+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/ports", "rel": "self"}, {"href": "http://localhost/nodes/d54539d2-0ce3-434a-9955-feb4dfef7541/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.084036s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'inspecting', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.647630+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'inspect wait', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.647630+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.088127s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1d798710-59e3-438b-ac04-edd914cc6faf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.043561s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:{} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.060167s] ... ok 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-c0f358b8-3adf-4001-ab93-44db831af911 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:34.129034+00:00", "updated_at": "2020-11-20T07:00:34.182326+00:00", "address": "52:54:00:cf:2d:31"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2217330c-7bb4-4a81-a067-068244135a91 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.129034+00:00", "updated_at": "2020-11-20T07:00:34.232179+00:00", "address": "52:54:00:cf:2d:31"} {21} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.149704s] ... ok GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8460a8b9-876a-40d9-a1ef-63405a96c869 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\"}"} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.051712s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.028528s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_by_conductor_group_none [0.012266s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs_fail [0.016412s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': '', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-59884e99-d790-4668-bcc6-9db385ace467 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.045421s] ... ok 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-00d9af5d-9a3d-477e-8e91-74ab908bb391 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.066689s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'vif_port_id': 'foo'}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-85c754ce-6d68-433b-80a0-af1d2df4318b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "created_at": "2020-11-20T07:00:35.052234+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "foo"}, "properties": {}, "name": "fooname"} {38} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.072717s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.029588s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_rescue_interface [0.012560s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver_fail [0.013843s] ... ok {38} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.014114s] ... ok {38} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.022745s] ... ok {38} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.099201s] ... ok {38} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.109930s] ... ok {38} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.019624s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': u'reason!', u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'active', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.916928+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': True, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.064344s] ... ok {38} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.014450s] ... ok {38} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.013379s] ... ok {38} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.094639s] ... ok {38} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.094627s] ... ok {38} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.105193s] ... ok {38} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.015957s] ... ok {38} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.016478s] ... ok {38} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.019988s] ... ok {38} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.088626s] ... ok {38} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_bios [0.089329s] ... ok {38} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.028099s] ... ok {38} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir_ipxe [0.028856s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-990dba7f-b813-4749-8d20-345e2829f1d9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {35} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.047627s] ... ok {38} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.012899s] ... ok GET: /v1/ports?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-43dde1ea-a8b7-4fbf-a389-dad2959724f9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\"}"} {38} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.229729s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.049069s] ... ok {38} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.272177s] ... ok {38} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.137209s] ... ok {38} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.368547s] ... ok {38} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_steps_exception [0.085625s] ... ok {38} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual [0.289675s] ... ok {38} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.324016s] ... ok {38} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.022772s] ... ok {38} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.023508s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-900ac5ae-83e2-4dca-89a4-f1fc9d289dff X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.061768s] ... ok {38} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.065129s] ... ok {38} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.044896s] ... ok {38} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.261828s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-55d0a8f6-6d4a-49fa-b9ac-7109d0dd0f51 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2020-11-20T07:00:33.901612+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2020-11-20T07:00:33.901612+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.138679s] ... ok {38} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.076964s] ... ok {38} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.016761s] ... ok {38} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect 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-f932f896-71d5-431f-934d-a58025c236f4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/last_error' is an internal attribute and can not be updated\"}"} {38} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.047844s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.055576s] ... ok {38} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.070134s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-59375ec1-7971-4b0f-8739-9de8bba03bff X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {38} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.051574s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_cannot_send_create_port [0.066795s] ... ok {38} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.035270s] ... ok {38} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.026960s] ... ok {38} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.030761s] ... ok 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-4efe1425-a918-4e3f-9956-45e0856736e4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/driver' is a mandatory attribute and can not be removed\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.055649s] ... ok {38} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.051826s] ... ok 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-69ae3d81-8126-4e53-a2ab-78a343dc9b1d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.076164s] ... ok {38} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.081471s] ... ok {38} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.024888s] ... ok {38} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.043603s] ... ok {38} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.034694s] ... ok {38} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.027799s] ... ok {38} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.039202s] ... ok {38} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.033074s] ... ok {38} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.033772s] ... ok GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.437904+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {38} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.034236s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.066049s] ... ok 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-581d0dcb-e025-4f06-8126-3f1b39a6960e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.076159s] ... ok {38} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.039679s] ... ok {31} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.025716s] ... ok {38} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.064795s] ... ok {38} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.048153s] ... ok {38} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.092643s] ... ok {38} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid [0.093383s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'maintenance', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-36394878-7fe8-4374-bd52-14de0e8d51c1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'management', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28639c74-3fcb-45de-b862-830008a69022 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'states', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d5ad1d34-6abb-4b3d-8a03-921c9b102b93 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'vendor_passthru', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe2f157a-2092-49ed-a1f5-7fca581ce3c4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'validate', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec49f9fe-fa09-41d9-baa0-04db2e497b84 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'detail', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2145e71c-393a-4a4a-9eb8-3a4c4dc0d9f9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} {37} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.162078s] ... ok {38} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create_use_webserver_true_ramdisk_webserver [0.129890s] ... ok {38} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.087987s] ... ok This is bad{38} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.030205s] ... ok {38} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.030350s] ... ok {38} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.038877s] ... ok {38} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.086574s] ... ok {38} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.091714s] ... ok {38} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.079690s] ... ok /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {38} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.071466s] ... ok {38} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.129517s] ... ok {38} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.012517s] ... ok {38} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.088986s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{u'ports': [{u'uuid': u'0f8771e3-31ee-4e4a-9247-c5e22465af2e', u'links': [{u'href': u'http://localhost/v1/ports/0f8771e3-31ee-4e4a-9247-c5e22465af2e', u'rel': u'self'}, {u'href': u'http://localhost/ports/0f8771e3-31ee-4e4a-9247-c5e22465af2e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'265f7015-2a90-4a77-ad88-18240f8de52b', u'links': [{u'href': u'http://localhost/v1/ports/265f7015-2a90-4a77-ad88-18240f8de52b', u'rel': u'self'}, {u'href': u'http://localhost/ports/265f7015-2a90-4a77-ad88-18240f8de52b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'0f8771e3-31ee-4e4a-9247-c5e22465af2e', u'links': [{u'href': u'http://localhost/v1/ports/0f8771e3-31ee-4e4a-9247-c5e22465af2e', u'rel': u'self'}, {u'href': u'http://localhost/ports/0f8771e3-31ee-4e4a-9247-c5e22465af2e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}], u'next': u'http://localhost/v1/ports?sort_dir=asc&sort_key=id&fields=uuid,address&limit=1&marker=0f8771e3-31ee-4e4a-9247-c5e22465af2e'} {38} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.027351s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.130665s] ... ok {38} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.091187s] ... ok {38} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_username [0.071627s] ... ok {38} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.130213s] ... ok {38} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.096247s] ... ok {38} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.018383s] ... ok {38} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.027384s] ... ok {38} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.076781s] ... ok {38} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.343465s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {31} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.021362s] ... ok {38} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.039674s] ... ok /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert UcsOperationError(u'%(operation)s failed, error: %(error)s',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {31} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.034749s] ... ok {38} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.136781s] ... ok {38} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_new_fields_none [0.094176s] ... ok {31} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.026083s] ... ok {38} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.017672s] ... ok {38} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.021044s] ... ok {31} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.018752s] ... ok {31} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.028939s] ... ok {38} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.018438s] ... ok {31} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.023027s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.016028s] ... ok {31} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated [0.052455s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.037639s] ... ok {31} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.009701s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.030398s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.030899s] ... ok {31} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.085183s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.057876s] ... ok {31} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.024146s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.118870s] ... ok {31} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.120593s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.148065s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.098238s] ... ok {31} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.032232s] ... ok {31} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.045637s] ... ok {38} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.050834s] ... ok {38} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.073561s] ... ok {31} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.029485s] ... ok {38} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.015982s] ... ok {31} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.090940s] ... ok {38} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.021789s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-ca4f8831-512d-4f19-b615-9852e412aad5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.058972s] ... ok {31} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.026325s] ... ok {38} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.128410s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 204 No Content Openstack-Request-Id: req-ee4b8670-7514-401e-97f3-0eef4f560569 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.066955s] ... ok {38} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy [0.235723s] ... ok {31} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.025988s] ... ok {31} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.066397s] ... ok {38} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.029711s] ... ok {38} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm_fail [0.617365s] ... ok {31} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.087085s] ... ok {38} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_already_target_state [0.074811s] ... ok {31} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.300270s] ... ok {38} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_error [0.098118s] ... ok {31} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.272957s] ... ok {38} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.007436s] ... ok {38} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.050416s] ... ok {31} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.307071s] ... ok {31} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.023731s] ... ok {38} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.012111s] ... ok {31} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.035988s] ... ok {38} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.013255s] ... ok {31} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.091926s] ... ok {38} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.007222s] ... ok {38} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.013384s] ... ok {31} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.019915s] ... ok {38} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.006790s] ... ok {31} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.085897s] ... ok {38} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.006625s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-07aa5782-a4b6-457b-abd4-3729a9784bea X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute driver. Value: 'None'. Mandatory field missing.\"}"} {31} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.012650s] ... ok {31} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.027147s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.038481s] ... ok {38} ironic.tests.unit.objects.test_portgroup.TestMigrateVifPortId.test_migrate_vif_port_id_all [0.029222s] ... ok {38} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.011709s] ... ok {31} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.035049s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': 'foo'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4d7758ac-bd29-4899-b252-8036c53a5a2c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.067724s] ... ok {31} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.031071s] ... ok {31} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.032947s] ... ok {31} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.034781s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'node-0', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-92f6a66a-4857-46cf-b3d1-2d1b8ba1da83 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.070202s] ... ok {31} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.034284s] ... ok {31} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.030739s] ... ok {31} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.065562s] ... ok {31} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.044972s] ... ok {31} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.063574s] ... ok {31} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.050617s] ... ok {31} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.089204s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs [0.030676s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_phyisical_disks [0.164414s] ... ok {31} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.065376s] ... ok {31} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.103822s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.066818s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.110934s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.087731s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive [0.083946s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.120033s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.092448s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.156908s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.643300s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.070489s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.143865s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.026558s] ... ok POST: /v1/nodes {'instance_uuid': None, 'description': 'useful stuff', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-2426d357-a129-4c7a-91ec-539a9f88943a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": "noop", "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "description": "useful stuff", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": "fake", "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.808760+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": "fake", "protected": false, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': u'noop', u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'description': u'useful stuff', u'conductor': None, u'driver': u'fake-hardware', u'power_interface': u'fake', u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.808760+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'protected': False, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {31} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.036580s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.123558s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.238355s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.082518s] ... ok GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ab50a66-4d8e-494f-a51d-4d046e8be25d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress. Error: Expected a MAC address but received invalid-mac-format.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.050062s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.099620s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.122123s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.081636s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.080458s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.099124s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.082582s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.027896s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.106199s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_multiple_commands [0.068406s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.119171s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.119304s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'foo'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ae3f565f-ce97-478d-b6e2-baca07bacf4a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "foo"}, "created_at": "2020-11-20T07:00:34.749354+00:00"} {39} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id [0.100462s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.058825s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.066193s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.073780s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_deploy [0.078061s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.008221s] ... ok {31} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.018200s] ... ok {31} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.013461s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.019943s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.022806s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.015656s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', u'rel': u'bookmark'}]} {31} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.007005s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.049833s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.013976s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.011102s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.007861s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5c800fe9-4d21-49ae-8f3f-81ca3aebd892 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {35} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.064042s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.080558s] ... ok {31} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.007639s] ... ok {31} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.008256s] ... ok {31} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.015333s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.054450s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.074269s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_wait [0.021391s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.020648s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.019050s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.021896s] ... ok {31} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.084844s] ... ok {31} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.061863s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.151445s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.023254s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.020993s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.013811s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.014898s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.014031s] ... ok 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-2b483b75-6609-42bd-92ec-dd3b19bd4e51 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\"}"} {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.013822s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.057143s] ... ok 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-a8aaea5b-e22d-4218-867c-0a9e4b6a5778 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.066480s] ... ok GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-caea07b9-3ccf-4503-88f2-307d78aee07b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.049842s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {39} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.038165s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': [{'interface': 'deploy', 'step': 'upgrade_firmware'}], 'target': 'clean'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-afb0f64f-4064-4812-8183-23acfa8ec956 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.081785s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52-54-00-cf-2d-31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c4f68d3-c75e-4f3d-baf2-44289100db95 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.052672s] ... ok PATCH: /v1/nodes/039f9636-8a56-4157-ba93-5628d2f182ec [{'path': '/storage_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-14bfe0f0-e6a0-4d7d-aa03-19ae85e142fa X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/039f9636-8a56-4157-ba93-5628d2f182ec", "rel": "self"}, {"href": "http://localhost/nodes/039f9636-8a56-4157-ba93-5628d2f182ec", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/states", "rel": "self"}, {"href": "http://localhost/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "039f9636-8a56-4157-ba93-5628d2f182ec", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/volume", "rel": "self"}, {"href": "http://localhost/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.007308+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/ports", "rel": "self"}, {"href": "http://localhost/nodes/039f9636-8a56-4157-ba93-5628d2f182ec/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.092675s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c196e4e9-18f4-4958-8b33-b4694805a6a7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.073756s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'0c2298f3-75ea-418d-bd23-57360f94ea0f', u'links': [{u'href': u'http://localhost/v1/portgroups/0c2298f3-75ea-418d-bd23-57360f94ea0f', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0c2298f3-75ea-418d-bd23-57360f94ea0f', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'08b1f288-5629-4f13-ae69-ff4f776ecd21', u'links': [{u'href': u'http://localhost/v1/portgroups/08b1f288-5629-4f13-ae69-ff4f776ecd21', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/08b1f288-5629-4f13-ae69-ff4f776ecd21', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'8cd438c7-45e6-4d81-a796-33304f29d195', u'links': [{u'href': u'http://localhost/v1/portgroups/8cd438c7-45e6-4d81-a796-33304f29d195', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/8cd438c7-45e6-4d81-a796-33304f29d195', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'802b4474-d6c0-4f6d-b760-c4a7918df113', u'links': [{u'href': u'http://localhost/v1/portgroups/802b4474-d6c0-4f6d-b760-c4a7918df113', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/802b4474-d6c0-4f6d-b760-c4a7918df113', u'rel': u'bookmark'}], u'name': u'portgroup3'}, {u'address': u'52:54:00:cf:2d:34', u'uuid': u'56f6cdae-b26d-4ac0-af4c-559cf30e3ca5', u'links': [{u'href': u'http://localhost/v1/portgroups/56f6cdae-b26d-4ac0-af4c-559cf30e3ca5', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/56f6cdae-b26d-4ac0-af4c-559cf30e3ca5', u'rel': u'bookmark'}], u'name': u'portgroup4'}]} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.127637s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9cb430b-1ba5-47b5-b554-f5b83a57f5f5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {32} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.058672s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9d57ec42-8310-4611-896f-f947e466feba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.336765+00:00", "is_smartnic": false} {21} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.108591s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.846639+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.846639+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.088012s] ... ok GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'ports': [{u'uuid': u'6f7006aa-f168-4261-9d40-16a6d7b026a6', u'links': [{u'href': u'http://localhost/v1/ports/6f7006aa-f168-4261-9d40-16a6d7b026a6', u'rel': u'self'}, {u'href': u'http://localhost/ports/6f7006aa-f168-4261-9d40-16a6d7b026a6', u'rel': u'bookmark'}], u'address': u'aa:bb:cc:dd:ee:f1'}]} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.070195s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6224e8d4-c51a-4d3a-a182-a82eb5951cff X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {35} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.070151s] ... ok DELETE: /v1/portgroups/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-396e7a83-56e0-40c8-b17f-9b367e0e5ceb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.062909s] ... ok GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'portgroups': [{u'address': u'aa:bb:cc:dd:ee:f1', u'uuid': u'a7559253-81cb-4d19-af5d-ff3cb5cdce01', u'links': [{u'href': u'http://localhost/v1/portgroups/a7559253-81cb-4d19-af5d-ff3cb5cdce01', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a7559253-81cb-4d19-af5d-ff3cb5cdce01', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {39} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.067934s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_types.TestListType.test_list_type [0.011596s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_optional_key [0.011374s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs_fail [0.013512s] ... ok {39} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_fail [0.012857s] ... ok 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-4e8c7f2b-1e34-42a6-a2ec-295cd7db0bfc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Providing a JSON object for configdrive is only supported starting with API version 1.56\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_unsupported [0.064605s] ... ok 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-04ddba3d-e136-40c9-93c8-1f3405806398 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.062286s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5d975363-8345-4cdf-948e-2abbaa932733 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.069569s] ... ok GET: /v1/volume/connectors/?limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'7335dcec-4d8e-499a-9652-19f3cd0aa3a9', u'links': [{u'href': u'http://localhost/v1/volume/connectors/7335dcec-4d8e-499a-9652-19f3cd0aa3a9', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/7335dcec-4d8e-499a-9652-19f3cd0aa3a9', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'ecea00a4-8652-4a79-80c6-6a18de144343', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ecea00a4-8652-4a79-80c6-6a18de144343', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ecea00a4-8652-4a79-80c6-6a18de144343', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'b181df19-8a6a-44c6-a216-aae89ba54b5e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b181df19-8a6a-44c6-a216-aae89ba54b5e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b181df19-8a6a-44c6-a216-aae89ba54b5e', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=b181df19-8a6a-44c6-a216-aae89ba54b5e'} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.093618s] ... ok 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, \"description\": \"Expected a logical name or UUID but received 52:54:00:cf:2d:31.\", \"title\": \"Bad Request\"}"} {21} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.039067s] ... ok 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-b7daef2c-e351-4310-bfaa-9f5762180873 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.069919s] ... ok 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-f3c93edc-fd1a-4bed-9e87-77d19793b6ff X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/internal_info' is an internal attribute and can not be updated\"}"} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.048323s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-8e5ad4a7-2179-4ce8-a43d-252ac75c8f41 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.057673s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:34.352395+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:34.352395+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.107979s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-6bb7f0e9-a676-47d4-b311-e06c48562b18 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {39} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.065325s] ... ok {39} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.028499s] ... ok {39} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.022541s] ... ok {39} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.090426s] ... ok {39} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000317s] ... ok {39} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.044071s] ... ok {39} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.025296s] ... ok {39} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.023996s] ... ok {39} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.017519s] ... ok 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-186f17b5-2e66-4437-94ae-7c111fc82aeb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.058292s] ... ok {39} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.191898s] ... ok 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-5cecc90e-fedb-42c1-a6d3-79ab7c9febcb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {39} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.291261s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.061501s] ... ok {39} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.081676s] ... ok {39} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.260695s] ... ok {39} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.082919s] ... ok {39} ironic.tests.unit.conductor.test_manager.DoNodeCleanAbortTestCase.test__do_node_clean_abort [0.101402s] ... ok {39} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.298916s] ... ok {39} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__old_rest_of_do_node_deploy_console [0.297527s] ... ok {39} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.090021s] ... ok {39} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.264130s] ... ok {39} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.076609s] ... ok {39} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.088320s] ... ok {39} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.148950s] ... ok {39} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.079005s] ... ok {39} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.088803s] ... ok {39} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.052560s] ... ok GET: /v1/portgroups?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ee42608e-d274-4226-9994-29f5ab551c5a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\"}"} 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-0f91cb4e-f2cc-44ff-94ce-73d8b657aa56 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.046449s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.067600s] ... ok {39} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.087403s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'bios_interface': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a8079a8-e0e4-4c7f-b1de-243d3fa99eb6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.bios' entrypoint: foo. Valid interfaces are ['no-bios', 'fake'].\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.061845s] ... ok {39} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.090387s] ... ok {39} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.029914s] ... ok {39} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.013859s] ... ok {39} ironic.tests.unit.conductor.test_utils.MiscTestCase.test__notify_conductor_resume_operation [0.080644s] ... ok {39} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.079186s] ... ok {39} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.142285s] ... ok {39} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.115800s] ... ok PATCH: /v1/nodes/b85ec838-65f5-48f5-babf-6de62973a692 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c7738c2c-00a6-4bba-9d73-a366008775dc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/b85ec838-65f5-48f5-babf-6de62973a692", "rel": "self"}, {"href": "http://localhost/nodes/b85ec838-65f5-48f5-babf-6de62973a692", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/b85ec838-65f5-48f5-babf-6de62973a692/states", "rel": "self"}, {"href": "http://localhost/nodes/b85ec838-65f5-48f5-babf-6de62973a692/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "b85ec838-65f5-48f5-babf-6de62973a692", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/b85ec838-65f5-48f5-babf-6de62973a692/volume", "rel": "self"}, {"href": "http://localhost/nodes/b85ec838-65f5-48f5-babf-6de62973a692/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.093260+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/b85ec838-65f5-48f5-babf-6de62973a692/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b85ec838-65f5-48f5-babf-6de62973a692/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/b85ec838-65f5-48f5-babf-6de62973a692/ports", "rel": "self"}, {"href": "http://localhost/nodes/b85ec838-65f5-48f5-babf-6de62973a692/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.088084s] ... ok {39} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.065912s] ... ok {39} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.046471s] ... ok {39} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.024189s] ... ok {39} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.030640s] ... ok {39} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.027814s] ... ok {39} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info [0.025421s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '50ba5f19-765f-4a8f-bbf7-f801f091997d', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '500cccb6-c276-4a12-ae60-2db4e2f98fe2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2923d1e8-a5c7-498c-8e08-dc417f8f7a07 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "500cccb6-c276-4a12-ae60-2db4e2f98fe2", "updated_at": "2020-11-20T07:00:34.346441+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.283430+00:00"} {18} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.113714s] ... ok {39} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.078602s] ... ok {39} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.030011s] ... ok {39} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.110048s] ... ok {39} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.069299s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error [0.100075s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed [0.064451s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed [0.064627s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.104920s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.025314s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.028061s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.083398s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bce95421-569d-458b-9de1-d3e52363e588 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.068699s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.110416s] ... ok {39} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_invalid_component_type [0.119946s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.095584s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.092586s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.047906s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.166946s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.046061s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.057653s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.233269s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.040604s] ... ok {39} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.018308s] ... ok {39} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.054928s] ... ok {39} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.142048s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': 'maintenance', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9b4e5620-0aa2-4d0d-9ceb-f5c4ff27b821 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'management', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1342d1ae-af26-4b92-9685-7fd464dd0d2c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'states', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c457c942-82a8-4fb1-92bf-ad54665f3145 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'vendor_passthru', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-27a3a670-b1d0-46c2-bdf4-206682afbf94 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'validate', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eaa4127b-8302-4f0b-b3ab-58687aa82371 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'detail', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a7af35a8-3e26-4f52-b3bf-fbba114d6b1a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.102414s] ... ok {39} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.059060s] ... ok {39} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.049728s] ... ok {39} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.045365s] ... ok {39} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.073441s] ... ok {39} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.060816s] ... ok {39} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.056603s] ... ok {39} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.154495s] ... ok {39} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.030836s] ... ok {39} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_custom_interface [0.082559s] ... ok {39} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_missing_steps [0.076270s] ... ok {39} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.011325s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.191641+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {39} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.020353s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.066136s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.793289+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.063581s] ... ok {39} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.026054s] ... ok {39} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.077937s] ... ok {39} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.015775s] ... ok {39} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.013404s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.016566s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.015852s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.087017s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.082504s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.058684s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.021011s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.071151s] ... ok {39} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.155373s] ... ok {39} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_netboot [0.113761s] ... ok {39} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch [0.025849s] ... ok {39} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.128011s] ... ok {39} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.068246s] ... ok {39} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.028207s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4daab068-8c0b-4f12-9e9d-2b10c6304653 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.055116s] ... ok {39} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.013116s] ... ok {39} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.014593s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-789a6e28-fbbc-4f42-b8b4-df2a4054f4b6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {35} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.050275s] ... ok {39} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.012797s] ... ok {39} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.013371s] ... ok {39} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.012097s] ... ok {39} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_timeout [0.145096s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d958d940-3d1b-4b04-88f5-2f4ac2cfdb5b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {39} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_invalid_state [0.160935s] ... ok POST: /v1/volume/connectors {'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02ae059c-8772-4041-8e88-c24cb5163695 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.046807s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.053126s] ... ok {39} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.026634s] ... ok {39} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.012149s] ... ok {39} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.018945s] ... ok {39} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_override_with_ipmi_interfaces [0.649014s] ... ok {39} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.051858s] ... ok {39} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.045268s] ... ok {39} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.050096s] ... ok {39} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.010466s] ... ok {39} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.010973s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"\", \"title\": \"Method Not Allowed\"}"} {39} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.011006s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.043038s] ... ok GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7eeb7a1e-9ec1-43ed-855a-b0ee56e846d8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress. Error: Expected a MAC address but received invalid-mac-format.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.049261s] ... ok {39} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.013002s] ... ok {39} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.011144s] ... ok {39} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.010237s] ... ok {39} ironic.tests.unit.objects.test_port.TestMigrateVifPortId.test_migrate_vif_port_id_one [0.023195s] ... ok {39} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.011578s] ... ok {39} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.012627s] ... ok PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-5173993b-c428-4472-9c93-fd073b56a4f0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {35} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.051199s] ... ok GET: /v1/nodes?associated=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1cfa6666-4663-42d8-9e9c-fecd493561fc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1cfa6666-4663-42d8-9e9c-fecd493561fc', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1cfa6666-4663-42d8-9e9c-fecd493561fc'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9d3f1ba1-3814-46d3-9062-a790f57f6688', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9d3f1ba1-3814-46d3-9062-a790f57f6688', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9d3f1ba1-3814-46d3-9062-a790f57f6688'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0f64347c-ae95-46b1-9632-e94caa7aec5e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0f64347c-ae95-46b1-9632-e94caa7aec5e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'0f64347c-ae95-46b1-9632-e94caa7aec5e'}]} GET: /v1/nodes?associated=FALSE {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1cfa6666-4663-42d8-9e9c-fecd493561fc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1cfa6666-4663-42d8-9e9c-fecd493561fc', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1cfa6666-4663-42d8-9e9c-fecd493561fc'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9d3f1ba1-3814-46d3-9062-a790f57f6688', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9d3f1ba1-3814-46d3-9062-a790f57f6688', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9d3f1ba1-3814-46d3-9062-a790f57f6688'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0f64347c-ae95-46b1-9632-e94caa7aec5e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0f64347c-ae95-46b1-9632-e94caa7aec5e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'0f64347c-ae95-46b1-9632-e94caa7aec5e'}]} {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.215296s] ... ok 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-6cde5425-98e8-41a5-8478-6b8df6faa1d0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute persistent. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {32} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.047420s] ... ok 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-c244a74d-aa6c-4b43-a31b-3370fc87363c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.059428s] ... ok GET: /v1/lookup?addresses=not-a-valid-address,80:00:02:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:54:06:c2,11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'db486faf-deb4-4533-b56f-b31df02a07e9', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/db486faf-deb4-4533-b56f-b31df02a07e9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/db486faf-deb4-4533-b56f-b31df02a07e9', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {21} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.105853s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.012431s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs [0.012490s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_none [0.013247s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.012456s] ... ok GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-340b8564-aad7-46e2-be03-e19a72b7ffba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.043278s] ... ok 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-23f0f4ad-4b0e-48fc-a976-e5fce297c465 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/chassis_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'chassis_id'\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.068127s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-56c711ca-3f94-4bac-bedd-df11f575af8d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.077339s] ... ok 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-14b1564a-4ab8-43f6-a436-1cb0dc9050e2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.083651+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.088188s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [9.030569s] ... ok PATCH: /v1/nodes/19e2f8f0-a64d-4d59-ae1a-9e1e6622cb61 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-bb0eb7f0-1c61-4c44-8126-fc8868e30344 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 19e2f8f0-a64d-4d59-ae1a-9e1e6622cb61 can not be updated while a state transition is in progress.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.074627s] ... ok 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-c460aa85-1c2f-4c38-9536-9e4eb57df786 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2020-11-20T07:00:34.351529+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.066708s] ... ok PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-26651acb-3688-4f65-ad98-8b3b19d3a3a3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {35} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.050726s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.967512+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'pg.json'} {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.061809s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.044320s] ... ok GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.044906+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {15} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.068444s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'fooswitch', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1bb67338-384d-4915-bf63-ee0e8d5cec56 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys. Required keys are set(['port_id', 'switch_id']). Or in case of Smart NIC set(['hostname', 'port_id']). Submitted keys are set(['switch_info', 'switch_id']) .\"}"} {18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.068906s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.930205+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.930205+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {28} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.087379s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.042534s] ... ok PATCH: /v1/nodes/e57b8017-c5b4-4eac-9619-7457c3081735 [{'path': '/network_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-89dcb7a9-e098-4805-8027-a9dc00d5ca97 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/e57b8017-c5b4-4eac-9619-7457c3081735", "rel": "self"}, {"href": "http://localhost/nodes/e57b8017-c5b4-4eac-9619-7457c3081735", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/states", "rel": "self"}, {"href": "http://localhost/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "e57b8017-c5b4-4eac-9619-7457c3081735", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/volume", "rel": "self"}, {"href": "http://localhost/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.289562+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/ports", "rel": "self"}, {"href": "http://localhost/nodes/e57b8017-c5b4-4eac-9619-7457c3081735/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} {37} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.093135s] ... ok GET: /v1/ports?fields=address&limit=2 {} GOT:{u'ports': [{u'links': [{u'href': u'http://localhost/v1/ports/dcb80a7e-42b6-4ed0-82f2-894951fdf656', u'rel': u'self'}, {u'href': u'http://localhost/ports/dcb80a7e-42b6-4ed0-82f2-894951fdf656', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'links': [{u'href': u'http://localhost/v1/ports/66bee74c-9b44-4b91-83a7-2296d8318342', u'rel': u'self'}, {u'href': u'http://localhost/ports/66bee74c-9b44-4b91-83a7-2296d8318342', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}], u'next': u'http://localhost/v1/ports?sort_dir=asc&sort_key=id&fields=address&limit=2&marker=66bee74c-9b44-4b91-83a7-2296d8318342'} {25} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.083661s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.008731s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.008664s] ... ok {31} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.021747s] ... ok {31} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.007268s] ... ok {31} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.006004s] ... ok PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d753936c-b624-4c26-80ad-894b76834a3a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {32} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.047068s] ... ok {31} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.005953s] ... ok DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-ac06343b-4efb-498f-a335-6452a2fbb5b4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {35} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.070042s] ... ok {31} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.021138s] ... ok {31} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.019052s] ... ok GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} GOT:{u'boot_index': 0, u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.064794s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-af2b843b-c11e-4842-97fb-e6a831320651 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.542783+00:00", "is_smartnic": false} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.103004s] ... ok {31} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.010183s] ... ok {31} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.012913s] ... ok {31} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.008958s] ... ok PATCH: /v1/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343 [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6018353c-8596-4b6b-b989-d9562d252e0f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343", "rel": "self"}, {"href": "http://localhost/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/states", "rel": "self"}, {"href": "http://localhost/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "c22d7b0d-5fd3-485e-a029-6e3627b5f343", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/volume", "rel": "self"}, {"href": "http://localhost/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.244111+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/ports", "rel": "self"}, {"href": "http://localhost/nodes/c22d7b0d-5fd3-485e-a029-6e3627b5f343/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.097463s] ... ok {31} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.009445s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4ae2429-7d3a-436c-afdb-1c4f2fcc441c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/console_enabled' is an internal attribute and can not be updated\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.058781s] ... ok PATCH: /v1/nodes/4a8254e4-507b-4b74-8174-dafcba6bca6e [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c38fefc3-2e5b-45b9-84d8-8262b0d51ced X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot update node with description exceeding 4096 characters\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.065272s] ... ok POST: /v1/nodes {'instance_uuid': None, 'automated_clean': True, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-2114a9f7-01c3-4734-9dba-3aa8b0bd0b4a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": true, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": "noop", "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "description": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": "fake", "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.051950+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": "fake", "protected": false, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': True, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': u'noop', u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': None, u'driver': u'fake-hardware', u'power_interface': u'fake', u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.051950+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'protected': False, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.128839s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-562a5ba6-7dd6-401e-ab22-5638ba14a7f9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.038627s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.936237+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.065648s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8078c58a-9cd9-4edc-9977-f73ad73d081c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'None'. Mandatory field missing.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.051635s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-57724b6a-1059-4df6-899e-914250f6caa8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {32} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.058378s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:33.912554+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:33.912554+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.085961s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8320387d-75a3-4913-b00f-cd689a4a781b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\"}"} {35} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.069309s] ... ok 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-90b6aae1-ebc9-481b-ac70-491bc98cbd81 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.589409+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {21} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.092630s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-9a07b1b0-0fca-4557-879f-0f190306950c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.097279s] ... ok GET: /v1/ports/detail?portgroup=fooname {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.116711+00:00'}]} {15} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.077019s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32c9e752-6458-4ada-a765-733a0e971246 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/boot_index' is a mandatory attribute and can not be removed\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.047314s] ... ok GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {35} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.035573s] ... ok GET: /v1/nodes/eggs/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'provision_updated_at': u'1971-03-09T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state'} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.064456s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.047975s] ... ok 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-d352f3e9-51cf-4318-b1a7-d86ec6d501d7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 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-4b507cc7-3794-44f3-b610-536bc4af5fd8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 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-b347ee6a-85c4-4211-afc3-9859293176c3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.146410s] ... ok GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-baf8ba32-594c-41aa-b881-19d2f3f74e9c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.053257s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5cdc14c3-8718-486d-ab3c-83271007359a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-90d65577-f8ba-4e10-bc3c-26b322057092 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d23d8bf3-71f3-417a-9c89-757cde1a9fa8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'inspect_interface': 'fake'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d741dfbe-cc3c-4ca6-9c5c-82cdbebd4c19 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5caa923a-efd5-4f5c-b74d-c553778f9c06 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'power_interface': 'fake', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5f810e2e-0719-40df-ba9a-f180b2bb07c9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8e447b16-3226-4a3e-839f-c08a575f805b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5d2a91cb-b68a-49eb-a46e-995a83b6f0d5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.124300s] ... ok PATCH: /v1/nodes/c72afb2d-47dd-40a4-9100-9ca4d6cc605c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6496dd4-2284-4aaa-a3ca-1a7ed568420d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/c72afb2d-47dd-40a4-9100-9ca4d6cc605c", "rel": "self"}, {"href": "http://localhost/nodes/c72afb2d-47dd-40a4-9100-9ca4d6cc605c", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "c72afb2d-47dd-40a4-9100-9ca4d6cc605c", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.087854+00:00", "ports": [{"href": "http://localhost/v1/nodes/c72afb2d-47dd-40a4-9100-9ca4d6cc605c/ports", "rel": "self"}, {"href": "http://localhost/nodes/c72afb2d-47dd-40a4-9100-9ca4d6cc605c/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.086242s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} GOT:{u'address': u'52:54:00:cf:2d:31', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {15} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.066626s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2133640-6e0a-4569-aeb6-598c6164c105 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.030005+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": null, "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.085746s] ... ok GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.596359+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.064861s] ... ok POST: /v1/volume/connectors {'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cfa1a2e2-8971-49f0-89d0-a86cfbb19a6e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.044832s] ... ok GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.186632+00:00'}]} {32} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.086553s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-87fc8214-82b2-41a4-bc3a-18293b0e7e7b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.518951+00:00", "is_smartnic": false} {18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.106651s] ... ok GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {21} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.038811s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9bada34d-7d6c-4ef8-aba0-fd0373d741f7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'noop', 'neutron'].\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.033212s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.018398+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {28} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.070784s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.335975+00:00'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.335975+00:00'} {25} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.082487s] ... ok PATCH: /v1/nodes/d66e2700-e060-4357-bebb-6cf5842f0fa9 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-245ad1e9-6ab7-4625-b198-c4f13ed60aa9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.069373s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5e4b8b7b-60db-407d-b4a1-ced729c0cb80 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.058176s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'invalid-value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bc82ad31-2e20-4195-92c9-8cbdf0d68a2a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute enabled. Value: 'invalid-value'. unable to convert to boolean. Error: Unrecognized value 'invalid-value', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.049792s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.012504s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8fe2c07-51d3-4701-9a46-420340531659 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2020-11-20T07:00:35.109508+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.082838s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.072129s] ... ok DELETE: /v1/portgroups/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"description\": \"Expected a logical name or UUID but received 52:54:00:cf:2d:31.\", \"title\": \"Bad Request\"}"} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.039022s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': []} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.043517s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.020108s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.097847s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.017584s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.008149s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-575728a4-d04e-4ab0-b143-0de00a7bb039 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.040148+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.040148+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {36} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.096054s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.011247s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_serialize_objects [0.039305s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.064287s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.013672s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_local_boot [0.071096s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.044107s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.030190s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.010129s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.014386s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.274689s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.089238s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.130549s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.146450s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict [0.328103s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.267322s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.027311s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.029363s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.020628s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.020782s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.025228s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.173375s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.017119s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.096536s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.026345s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.020092s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.019621s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.016331s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.014572s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.015990s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.014429s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.071148s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.033505s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.030726s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.022214s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.031353s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.025102s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'power_state': 'new state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4be13f9-50d2-4feb-a5b9-b974f7b476f1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument patch: power_state\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.056637s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.021304s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-db131816-c58a-4849-b5fd-2137e38f2010 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.035343s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.031643s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.037183s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.031386s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.021337s] ... ok PATCH: /v1/ports/7cf31579-a251-454c-8f4d-4199ad56e141 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-86d78f88-ab43-46d4-af88-042afbdea9d0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "7cf31579-a251-454c-8f4d-4199ad56e141", "links": [{"href": "http://localhost/v1/ports/7cf31579-a251-454c-8f4d-4199ad56e141", "rel": "self"}, {"href": "http://localhost/ports/7cf31579-a251-454c-8f4d-4199ad56e141", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.906210+00:00", "address": "52:55:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.852834+00:00"} {35} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id [0.111774s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.026983s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.075522s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device [0.080093s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.025892s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.025710s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'reservation': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0ae61a3-aa43-41e8-8d07-dfaeac6ff8db X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute reservation. Value: 'fake'. Cannot set read only field.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.039521s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed [0.118346s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.027440s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_reboot_timeout [2.714921s] ... ok 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-4731fba9-7c6a-449b-9fe6-4bc5e3726164 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.076607s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.077798s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.059676s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.077461s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.062079s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.078218s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.082880s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.026269s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.037568s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.083249s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.123637s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.068657s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.079447s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.102767s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.027348s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c5cd9774-0608-401b-a085-97a7d2abc83c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.047852s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.025775s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.378159s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.086446s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'foo': 123}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-ea112276-be35-43dd-a452-80c8647c6555 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2020-11-20T07:00:34.428831+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2020-11-20T07:00:34.428831+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.094668s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.086673s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.079227s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.066325s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.074328s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.019584s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.080543s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.067155s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.058652s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'foo': 123}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-95973d44-0496-41b5-b300-a6dd03b3f9a7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"foo": 123}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.204468+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'foo': 123}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.204468+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.069906s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.108589s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.075165s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46a884a2-bb60-4d78-872f-748b55eeff82 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2020-11-20T07:00:34.256245+00:00", "updated_at": "2020-11-20T07:00:34.309333+00:00", "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.011690s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.099409s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.017031s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.020860s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.026836s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.018497s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.009099s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.014628s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.014091s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.012997s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [1.055526s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.062082s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.037585s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.052785s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.043288s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.066035s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.102641s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.096119s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.022921s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [2.017332s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.048021s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.049090s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.009619s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.048013s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.044420s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.041637s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.007332s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.005786s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.005698s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.025560s] ... ok {0} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.008313s] ... ok DELETE: /v1/portgroups/pg.1 GOT:Response: 204 No Content Openstack-Request-Id: req-77e34125-0a48-4a86-a335-53a6f98ea04d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.064995s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-332a9ad1-9754-43d3-a5ae-c8ee66b3d21a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.042770s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2e57b6e-20a8-4fbe-a2d7-4c58ff0c40e1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.110447+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.085046s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'meta_data': {'hostname': 'example.com'}, 'user_data': {'serialize': 'me'}, 'network_data': {'links': []}}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-15bdf3e1-3742-465b-992c-50ed331d5e76 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.046914s] ... ok PATCH: /v1/ports/e186a874-617b-47c9-89eb-c50735852f1f [{'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-92874e94-52d8-4b16-8503-3a509baa4ebd X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "e186a874-617b-47c9-89eb-c50735852f1f", "links": [{"href": "http://localhost/v1/ports/e186a874-617b-47c9-89eb-c50735852f1f", "rel": "self"}, {"href": "http://localhost/ports/e186a874-617b-47c9-89eb-c50735852f1f", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.314930+00:00", "address": "52:55:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "original"}, "created_at": "2020-11-20T07:00:34.269517+00:00"} {32} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_diff_internal [0.098882s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.017574s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.018235s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-97b578e3-5ef5-4d66-8c51-238072e9b991 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.077137s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-abeda6b9-3db2-45fc-90bb-f5c183c59e8a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.131450+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'class1', u'created_at': u'2020-11-20T07:00:34.131450+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.106082s] ... ok 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-9bfbac75-6547-470e-812d-e1e52360a6cb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.053062s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-00519c38-dd61-42a6-98a8-8d90ec0a7c9a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.060360s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-c2d359ae-9ed2-4580-bb89-f586c70ec462 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2020-11-20T07:00:35.023560+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2020-11-20T07:00:35.023560+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.094704s] ... ok PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-62ec2f06-0328-4c3a-a9f1-7c6b3dd4ea68 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.050056s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac73acb2-11aa-4b0e-bb30-74febba45f04 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "created_at": "2020-11-20T07:00:34.482650+00:00", "updated_at": "2020-11-20T07:00:34.531081+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar", "bar": "buzz"}, "properties": {}, "name": "fooname"} {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id [0.095720s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': 'invalid-format', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-820d377a-a893-477b-9488-a606182683df X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.049444s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'created_at': u'2020-11-20T07:00:34.423956+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.423956+00:00'} {25} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.091896s] ... ok PATCH: /v1/ports/2be56d85-1fd1-45bf-994c-52ee9fc5061a [{'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-60e8b460-ecff-4229-b976-6ba7dd2e4786 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "2be56d85-1fd1-45bf-994c-52ee9fc5061a", "links": [{"href": "http://localhost/v1/ports/2be56d85-1fd1-45bf-994c-52ee9fc5061a", "rel": "self"}, {"href": "http://localhost/ports/2be56d85-1fd1-45bf-994c-52ee9fc5061a", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:35.008714+00:00", "address": "52:55:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar"}, "created_at": "2020-11-20T07:00:34.962627+00:00"} {35} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_extra_vif_port_id [0.102510s] ... ok PATCH: /v1/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da605d83-0154-4c39-98d9-7e32e6a288f0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6", "rel": "self"}, {"href": "http://localhost/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/states", "rel": "self"}, {"href": "http://localhost/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "20ef0ee5-3a4c-4b8d-88da-b612742cb0d6", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/volume", "rel": "self"}, {"href": "http://localhost/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.341924+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/ports", "rel": "self"}, {"href": "http://localhost/nodes/20ef0ee5-3a4c-4b8d-88da-b612742cb0d6/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.093767s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': ' ', 'target': 'rescue'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0de3f9e5-d2c6-447f-b546-8acd61163b13 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.076558s] ... ok PATCH: /v1/nodes/a4facdc8-8aa6-40e3-9b9f-03973ec714aa [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1b8fe96e-bf3a-4b95-8d16-2f0f40c3c2d0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/a4facdc8-8aa6-40e3-9b9f-03973ec714aa", "rel": "self"}, {"href": "http://localhost/nodes/a4facdc8-8aa6-40e3-9b9f-03973ec714aa", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "a4facdc8-8aa6-40e3-9b9f-03973ec714aa", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:33.991574+00:00", "ports": [{"href": "http://localhost/v1/nodes/a4facdc8-8aa6-40e3-9b9f-03973ec714aa/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4facdc8-8aa6-40e3-9b9f-03973ec714aa/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/a09bcf93-9ea7-4c46-8a0d-1a428885fd42 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7fb8b30e-8631-4946-9280-e137945fa9e8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/a09bcf93-9ea7-4c46-8a0d-1a428885fd42", "rel": "self"}, {"href": "http://localhost/nodes/a09bcf93-9ea7-4c46-8a0d-1a428885fd42", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspecting", "uuid": "a09bcf93-9ea7-4c46-8a0d-1a428885fd42", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.042539+00:00", "ports": [{"href": "http://localhost/v1/nodes/a09bcf93-9ea7-4c46-8a0d-1a428885fd42/ports", "rel": "self"}, {"href": "http://localhost/nodes/a09bcf93-9ea7-4c46-8a0d-1a428885fd42/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/68125720-4c58-456e-85e3-5a08a86d6c20 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f83c3f7-55d2-4e1c-9160-b78fd2523620 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/68125720-4c58-456e-85e3-5a08a86d6c20", "rel": "self"}, {"href": "http://localhost/nodes/68125720-4c58-456e-85e3-5a08a86d6c20", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspect failed", "uuid": "68125720-4c58-456e-85e3-5a08a86d6c20", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.077680+00:00", "ports": [{"href": "http://localhost/v1/nodes/68125720-4c58-456e-85e3-5a08a86d6c20/ports", "rel": "self"}, {"href": "http://localhost/nodes/68125720-4c58-456e-85e3-5a08a86d6c20/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/fd555f9b-f9fa-446c-ba77-216274398ee4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5a24773-42a3-40f6-991c-95e85e7137dc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/fd555f9b-f9fa-446c-ba77-216274398ee4", "rel": "self"}, {"href": "http://localhost/nodes/fd555f9b-f9fa-446c-ba77-216274398ee4", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspecting", "uuid": "fd555f9b-f9fa-446c-ba77-216274398ee4", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.113436+00:00", "ports": [{"href": "http://localhost/v1/nodes/fd555f9b-f9fa-446c-ba77-216274398ee4/ports", "rel": "self"}, {"href": "http://localhost/nodes/fd555f9b-f9fa-446c-ba77-216274398ee4/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/445e2ec3-db43-4657-884d-76f0209c0062 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2acec68-3e86-4669-b892-80d4a07925cf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/445e2ec3-db43-4657-884d-76f0209c0062", "rel": "self"}, {"href": "http://localhost/nodes/445e2ec3-db43-4657-884d-76f0209c0062", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "clean failed", "uuid": "445e2ec3-db43-4657-884d-76f0209c0062", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.149005+00:00", "ports": [{"href": "http://localhost/v1/nodes/445e2ec3-db43-4657-884d-76f0209c0062/ports", "rel": "self"}, {"href": "http://localhost/nodes/445e2ec3-db43-4657-884d-76f0209c0062/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/6b2f3a61-5e3f-467e-9cc7-1a1675bbb937 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-868a5aeb-afbe-41ed-b6ea-a9d16d86de1b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/6b2f3a61-5e3f-467e-9cc7-1a1675bbb937", "rel": "self"}, {"href": "http://localhost/nodes/6b2f3a61-5e3f-467e-9cc7-1a1675bbb937", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "error", "uuid": "6b2f3a61-5e3f-467e-9cc7-1a1675bbb937", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.184843+00:00", "ports": [{"href": "http://localhost/v1/nodes/6b2f3a61-5e3f-467e-9cc7-1a1675bbb937/ports", "rel": "self"}, {"href": "http://localhost/nodes/6b2f3a61-5e3f-467e-9cc7-1a1675bbb937/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/b5e0416e-45f7-4d23-9ebf-44852403caa7 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2c2cbb5-d63f-4161-a1eb-3a47fe177b62 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/b5e0416e-45f7-4d23-9ebf-44852403caa7", "rel": "self"}, {"href": "http://localhost/nodes/b5e0416e-45f7-4d23-9ebf-44852403caa7", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "verifying", "uuid": "b5e0416e-45f7-4d23-9ebf-44852403caa7", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.220675+00:00", "ports": [{"href": "http://localhost/v1/nodes/b5e0416e-45f7-4d23-9ebf-44852403caa7/ports", "rel": "self"}, {"href": "http://localhost/nodes/b5e0416e-45f7-4d23-9ebf-44852403caa7/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/69b14fad-a277-46ce-b668-0c2a0e0aa602 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99c611fb-2e27-4d59-9a0f-565a33d8313f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/69b14fad-a277-46ce-b668-0c2a0e0aa602", "rel": "self"}, {"href": "http://localhost/nodes/69b14fad-a277-46ce-b668-0c2a0e0aa602", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "adopt failed", "uuid": "69b14fad-a277-46ce-b668-0c2a0e0aa602", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.255711+00:00", "ports": [{"href": "http://localhost/v1/nodes/69b14fad-a277-46ce-b668-0c2a0e0aa602/ports", "rel": "self"}, {"href": "http://localhost/nodes/69b14fad-a277-46ce-b668-0c2a0e0aa602/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/d60c8f3f-3d1a-480d-8af5-b0ebbc80995f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b03cdb2e-fef6-4ff0-8df5-883bd9f750d3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/d60c8f3f-3d1a-480d-8af5-b0ebbc80995f", "rel": "self"}, {"href": "http://localhost/nodes/d60c8f3f-3d1a-480d-8af5-b0ebbc80995f", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "rescue failed", "uuid": "d60c8f3f-3d1a-480d-8af5-b0ebbc80995f", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.300222+00:00", "ports": [{"href": "http://localhost/v1/nodes/d60c8f3f-3d1a-480d-8af5-b0ebbc80995f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d60c8f3f-3d1a-480d-8af5-b0ebbc80995f/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/ce0e5cef-9ec0-4552-a516-1c0edacff55c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a27e73f1-e5f4-4779-903e-0d370558854c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/ce0e5cef-9ec0-4552-a516-1c0edacff55c", "rel": "self"}, {"href": "http://localhost/nodes/ce0e5cef-9ec0-4552-a516-1c0edacff55c", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "unrescue failed", "uuid": "ce0e5cef-9ec0-4552-a516-1c0edacff55c", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.335847+00:00", "ports": [{"href": "http://localhost/v1/nodes/ce0e5cef-9ec0-4552-a516-1c0edacff55c/ports", "rel": "self"}, {"href": "http://localhost/nodes/ce0e5cef-9ec0-4552-a516-1c0edacff55c/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.442755s] ... ok POST: /v1/heartbeat/52017ae4-5859-490c-8a14-0a6b1b806565 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-adef98ed-ade0-4974-a906-83f0bb7c94ec X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.038896s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_missing_mandatory_fields_network_port_event [0.012097s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.029502s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.011762s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface [0.012951s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.013960s] ... ok {22} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.012115s] ... ok POST: /v1/portgroups {'node_uuid': 'invalid-format', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9310f952-7269-49f3-a3ec-09cde1871429 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {22} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.012451s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.043356s] ... ok {22} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.011810s] ... ok {22} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.046015s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.012242s] ... ok {22} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.015369s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_storage_interface [0.013195s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive_as_dict_invalid [0.059898s] ... ok {22} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_failure [0.022672s] ... ok {22} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.016944s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties_fail [0.013136s] ... ok {22} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment_no_physnet [0.017362s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.027029s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe [0.096914s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.027091s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'conductor_group': 'foo', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-10c2c9ff-37a6-4815-a1ec-77d6ef09cdd2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {22} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.031080s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.030347s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.042534s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.026134s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_ipxe_config_uefi [0.088046s] ... ok {22} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.026166s] ... ok {22} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.011844s] ... ok POST: /v1/heartbeat/e948b024-348e-4c2a-81a3-76b543856a2c {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e78808ab-3b6a-46c1-a54e-a08e62b51d53 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node e948b024-348e-4c2a-81a3-76b543856a2c could not be found.\"}"} {22} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.014051s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.043837s] ... ok {22} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.011717s] ... ok {22} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.211313s] ... ok {22} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.196209s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ac87f00-d055-4563-a6da-c732e6a51670 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5030c16b-bbff-4515-b5ff-464646271ebc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d6112f23-eaa7-481c-ad84-32a021c967ed X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.114852s] ... ok {22} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.176633s] ... ok {22} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.097491s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_deploy_steps_no_skip [0.081993s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.300083s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.389429s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_and_user_data_as_dict [0.327498s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_2_old [0.284775s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.113346s] ... ok {22} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.021442s] ... ok {22} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.023913s] ... ok GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {25} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.061569s] ... ok {22} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.190009s] ... ok {22} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive [0.063435s] ... ok {22} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.100667s] ... ok {22} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.019775s] ... ok {22} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.036061s] ... ok {22} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.080882s] ... ok {22} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.082919s] ... ok {22} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.017713s] ... ok {22} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.016914s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-dde9a617-ae5e-4cc7-8c20-40e4fcfc03f7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-91b0385b-c3a3-4ef5-ad62-85f919fb2564 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": "noop", "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "description": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": "fake", "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.226558+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": "fake", "protected": false, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': u'noop', u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': None, u'driver': u'fake-hardware', u'power_interface': u'fake', u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.226558+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'protected': False, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.097098s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.121727s] ... ok {22} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.014098s] ... ok {22} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.014492s] ... ok {22} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.161577s] ... ok {22} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.027434s] ... ok {22} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.035584s] ... ok {22} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.024452s] ... ok GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9cba9d75-d53d-4a67-a2dc-581f9ad3a996 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {22} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.021048s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.046451s] ... ok {22} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.028354s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.012356s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_with_optional [0.011830s] ... ok {22} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.014208s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class [0.012415s] ... ok {22} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.126827s] ... ok {22} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_to_instance_deprecated [0.105892s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.014093s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.081040s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.045424s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.032646s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.096634s] ... ok {22} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.072990s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_object_name [0.026033s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.098780s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.145569s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.083085s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.028185s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.042544s] ... ok {22} 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.037242s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.007813s] ... ok 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-7262484f-caa4-4058-b4e2-d91774068580 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.502544+00:00", "updated_at": "2020-11-20T07:00:34.555434+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id [0.099051s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.018323s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.012267s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.052872s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.012965s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.059107s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.078079s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.011417s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.076410s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.014176s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.120839s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.072225s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.050184s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'c4998cbb-2ed1-474c-b61e-1c3536f0d5dc'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9e88a9a9-ea99-4edd-8046-e4aaf1436a92 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {22} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.046994s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_nostandalone_ports [0.078624s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.051797s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.057792s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.051181s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.061182s] ... ok {22} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.052333s] ... ok {22} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.077922s] ... ok {22} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.027921s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_is_done [0.053172s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.056864s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot [0.087737s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection [0.009272s] ... ok {22} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.010183s] ... ok {22} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.015449s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-06cb25af-929a-4cf4-9e78-8c95aff19801 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"enabled\\\"\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.050714s] ... ok {22} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_ok [0.013753s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.060973s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-b2e3ba22-efba-457c-8401-8e82e26d8413 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.030030s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.056406s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.110590s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_invalid_mac_network_port_event [0.012212s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.049374s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_traits [0.012555s] ... ok 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-159e33fb-79ba-424d-942b-56f7589d1098 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {22} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.080053s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.062110s] ... ok {22} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.134663s] ... ok {22} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_interface_mismatch [0.100001s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.017933s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.038537s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs [0.013454s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.020594s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_false [0.012833s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.022209s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [9.033418s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.038763s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-92e8da7d-1447-4632-8e81-aa273eba0976 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.046971s] ... ok 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-2105c757-ae05-4e35-9875-8b81f3dedbe0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {36} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.045988s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d864d21f-9301-4a6a-a71f-67f728ad2f09 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {21} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.094470s] ... ok {21} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.117117s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-3226f4e5-949c-48f4-87f8-1e593e6bc6a7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {32} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.063660s] ... ok {21} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.029161s] ... ok {21} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.018375s] ... ok {21} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.025017s] ... ok {21} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.056807s] ... ok {21} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.014799s] ... ok GET: /v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'links': [{u'href': u'http://localhost/v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.660817+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'links': [{u'href': u'http://localhost/v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.660817+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'links': [{u'href': u'http://localhost/v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.660817+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/557d5ed9-c53c-4cd5-be7c-18fd673e9e15/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {21} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.014398s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.105049s] ... ok {21} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.087551s] ... ok {21} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.012815s] ... ok {21} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.066507s] ... ok {21} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.044907s] ... ok {21} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.018991s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.084801s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.096509s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_elilo_config [0.038412s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.040051s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.025478s] ... ok {21} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.011560s] ... ok {21} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.041120s] ... ok PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9819d1cd-afe8-49b2-aedf-cb7c5dd3213b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.046012s] ... ok 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-83742215-f409-42ce-8a69-a17a1f1007db X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.748200+00:00", "updated_at": "2020-11-20T07:00:34.802106+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar", "bar": "buzz"}, "properties": {}, "name": "fooname"} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id_not_same [0.100832s] ... ok {21} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.012253s] ... ok {21} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.163680s] ... ok {21} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.214799s] ... ok {21} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.188995s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.159847s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.176884s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__old_rest_of_do_node_deploy_has_steps [0.218678s] ... ok POST: /v1/nodes/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a1dfe10f-44cd-4af7-9739-3ce04b8b9496 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node. Value: 'ports'. unable to convert to Node. Error: __init__() takes exactly 1 argument (2 given)\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.047195s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.199004s] ... ok {21} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.020188s] ... ok {21} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.200760s] ... ok {21} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.066094s] ... ok {21} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.078901s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.047804s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.256299s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.085337s] ... ok {21} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.239240s] ... ok PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e6f92e6c-66d2-426a-9839-fcdd3811391a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b5b05c98-6ae6-43eb-a27f-a04243e9d363 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-11ad63d8-b951-4386-970f-c68e747e309d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-86b9a074-7dd7-4998-8cbb-a28e5ff1db40 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-952a373b-7551-4ce6-b2a2-5912ff98d0b8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e28e88e1-4d3b-4829-b0ed-24f5ec39be18 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-45d0b40b-5aad-4343-ac03-66dc85188c26 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/2856fe84-6694-450b-964f-f8c6413ce932 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3d773005-1a6b-4e3b-b732-d6047a45d9d1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.109997s] ... ok {21} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.177624s] ... ok {21} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.018757s] ... ok {21} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.022818s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.041229s] ... ok {21} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.012594s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.010581s] ... ok {21} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.008338s] ... ok {21} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.008208s] ... ok {21} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.052082s] ... ok {21} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.019980s] ... ok {21} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.056133s] ... ok {21} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.021045s] ... ok PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c11b2f3e-1705-4c46-bb1c-b7f0b85ecaae X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.195692+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {21} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.031197s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.082988s] ... ok {21} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.031716s] ... ok {21} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.032935s] ... ok {21} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.053004s] ... ok {21} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.025990s] ... ok {21} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.026541s] ... ok {21} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.034773s] ... ok {21} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.078757s] ... ok {21} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.073487s] ... ok {21} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_soft_poweroff_retry [0.103899s] ... ok {21} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.099131s] ... ok {21} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.027328s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.055184s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.031221s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.066240s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.017342s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.096717s] ... ok {21} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.016094s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.064273s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [0.077103s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.181130s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.155861s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.102914s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.028122s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.026526s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.058062s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.056985s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.099080s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.043129s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.027359s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.073642s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.111913s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.067286s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a4628233-072f-4b7b-830e-07b3a287b80b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {36} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.048729s] ... ok {21} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.059097s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-718de822-df03-45e4-a8d6-b54f5936cfc4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {32} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.061831s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa163c01-ef10-4cf5-a9bd-719f36a0310b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-abf34c07-65fc-4420-b368-c8568ac4582d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f9b6215-d21b-416a-9183-d01f79a1a445 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.120336s] ... ok 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-d7d7ec9a-54ca-480a-90ea-7cca9a739c4b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.050089s] ... ok 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-feebca09-7c51-4579-9bc7-a30fc3ac7013 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.062808s] ... ok 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-14075d1a-0b61-457e-97cf-b15173f46e0c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.079808s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cb4d4e46-783b-4192-af9c-38d705c708b0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b3898ff-7e43-4f1c-a62a-8e04d320711c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"clean wait\\\".\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.106829s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f19b7fa-5d3f-42e8-af05-814cddd46dad X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.069441s] ... ok 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-c1b8153a-6a7d-46bb-b8fa-323380c90f09 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.059078s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.322016+00:00'} {36} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.063018s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-361de6eb-fc1b-497f-b2d1-d91cd68a3a10 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.076274s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-9225d733-3d1b-4136-a504-94f778fd6832 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.796780+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_no_extra [0.076864s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': None, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-dfe77b81-f29c-421b-9abb-313a05615299 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:35.189130+00:00", "is_smartnic": false} {35} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_cannot_send_create_port [0.102729s] ... ok GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'fd24d52c-27e8-40d9-b890-5e5aed15cc45', u'links': [{u'href': u'http://localhost/v1/volume/connectors/fd24d52c-27e8-40d9-b890-5e5aed15cc45', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/fd24d52c-27e8-40d9-b890-5e5aed15cc45', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.705157+00:00', u'updated_at': None, u'connector_id': u'test-connector_id-0', u'type': u'iqn'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'c3f1f8b7-31c8-4351-9913-6ae0f2ffd690', u'links': [{u'href': u'http://localhost/v1/volume/connectors/c3f1f8b7-31c8-4351-9913-6ae0f2ffd690', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/c3f1f8b7-31c8-4351-9913-6ae0f2ffd690', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.708697+00:00', u'updated_at': None, u'connector_id': u'test-connector_id-1', u'type': u'iqn'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'b4abaca9-c278-41fa-b051-fedea2054d19', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b4abaca9-c278-41fa-b051-fedea2054d19', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b4abaca9-c278-41fa-b051-fedea2054d19', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.711484+00:00', u'updated_at': None, u'connector_id': u'test-connector_id-2', u'type': u'iqn'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=b4abaca9-c278-41fa-b051-fedea2054d19'} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.097913s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e48f3bd2-733e-442e-8da7-75bf85a41398 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.098405s] ... ok {14} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.030630s] ... ok Malformed option m1.key1value1 {14} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.019135s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.105504s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.114246s] ... ok 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-48f72239-ee6d-47a5-8864-5ac37576b262 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.059981s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.015242s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.102678s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.013846s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.092008s] ... ok {14} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.127489s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.603606+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'pg.1'} {14} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.018128s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.057383s] ... ok {14} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.073787s] ... ok {14} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.017538s] ... ok {14} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.011534s] ... ok {14} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.013440s] ... ok {14} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.024696s] ... ok DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-25d5d0d6-8019-4c3a-9f7f-5055a9ed43d6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.045673s] ... ok {14} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.013798s] ... ok {14} ironic.tests.unit.common.test_json_rpc.TestService.test_no_blacklisted_methods [0.037177s] ... ok {14} ironic.tests.unit.common.test_json_rpc.TestService.test_no_context [0.040835s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'f5db54b3-380f-469c-a9f3-0c1c34f96a03', u'links': [{u'href': u'http://localhost/v1/volume/connectors/f5db54b3-380f-469c-a9f3-0c1c34f96a03', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/f5db54b3-380f-469c-a9f3-0c1c34f96a03', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'958d599b-5cc1-4bad-b024-30c720ec504e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/958d599b-5cc1-4bad-b024-30c720ec504e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/958d599b-5cc1-4bad-b024-30c720ec504e', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'9ba1371d-621b-4b07-9ea5-d43cd1c96d9e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/9ba1371d-621b-4b07-9ea5-d43cd1c96d9e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/9ba1371d-621b-4b07-9ea5-d43cd1c96d9e', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=9ba1371d-621b-4b07-9ea5-d43cd1c96d9e'} {9} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.103500s] ... ok {14} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [0.099365s] ... ok {14} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.081626s] ... ok 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-95ff6c76-d67a-43d5-8f6c-effda6b6e583 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.600769+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "type": "iqn"} {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.089058s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.026061s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.092241s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.025810s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.025880s] ... ok {14} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.026670s] ... ok {14} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.020871s] ... ok {14} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.058210s] ... ok {14} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.234104s] ... ok {14} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.116496s] ... ok {14} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.167634s] ... ok {14} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.117571s] ... ok PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c534a516-c9ba-4989-9448-61a131ee26f7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\"}"} {14} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.273044s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.066332s] ... ok {14} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.215962s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.015365s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.014721s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.019301s] ... ok {14} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.061063s] ... ok {14} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.025862s] ... ok {14} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.059934s] ... ok {14} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.103937s] ... ok {14} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.114688s] ... ok {14} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.102929s] ... ok {14} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {14} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-4c7c2367-036b-4a2e-a9e0-c464c2fbbffa X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.020686+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.020686+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.020686+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {14} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {17} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.127961s] ... ok {14} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.034055s] ... ok {14} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.046805s] ... ok {14} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.058371s] ... ok {14} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.023009s] ... ok {14} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.032275s] ... ok {14} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.027914s] ... ok {14} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.035738s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.071383s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.039754s] ... ok {14} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.029967s] ... ok {14} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.032041s] ... ok {14} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.078489s] ... ok {14} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.018138s] ... ok {14} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.091308s] ... ok {14} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_off [0.090214s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.026089s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.118216s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.032042s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.040468s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.163156s] ... ok {14} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.025798s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.025970s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_environment_error [0.095511s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok_post_supported [2.078905s] ... ok GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f68a236-fc38-4b55-bd04-9c8fc1e35a33 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a9696c2-4f0d-4f55-83c1-4b4372bbadb5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e5833928-2f99-4968-984a-c4e5bec1e45d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=local_link_connection {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a73d1f0-c4f9-4de4-afa7-34cda29fbf4d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\"}"} {14} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.084716s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.068891s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.053754s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': 'foo', 'target': 'provide'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e5ef2af-3719-4680-bef7-5934559a2c55 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is only valid when setting target provision state to clean\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.078932s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.082699s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.090696s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.047240s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.065584s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.102073s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.045188s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.023430s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.016028s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.044185s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'conductor_group': 'foo', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-5abb0229-9263-4bbc-a818-c1748d355a06 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": "noop", "conductor_group": "foo", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.404991+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': u'noop', u'conductor_group': u'foo', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.404991+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {14} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.041093s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.108372s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.077982s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.053253s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.054416s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.047990s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.015183s] ... ok {14} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.065632s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot [0.048195s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.046965s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_exc [0.055848s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.008188s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.008152s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.007728s] ... ok {14} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.011165s] ... ok {14} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.024757s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.021294s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.018726s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.084325s] ... ok {14} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.009897s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.053167s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.018382s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.044513s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.096647s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.018200s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.011645s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.010759s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.010344s] ... ok {14} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.052348s] ... ok {14} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.008203s] ... ok {14} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.009096s] ... ok {14} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.009586s] ... ok {14} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.053761s] ... ok {14} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.011934s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'neutron'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-f45fc5d8-e140-4d9f-b276-da19b3b0505a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "neutron", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'neutron', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.110604s] ... ok {14} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.012950s] ... ok {14} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.007413s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.010430s] ... ok {14} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.013030s] ... ok {14} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.010657s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.006771s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-f5070682-b846-4576-8dc3-3fabd230619b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.305129+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.305129+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.104242s] ... ok GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'4888b5a8-2bd4-49ea-81c6-8619fe5bc73d', u'links': [{u'href': u'http://localhost/v1/ports/4888b5a8-2bd4-49ea-81c6-8619fe5bc73d', u'rel': u'self'}, {u'href': u'http://localhost/ports/4888b5a8-2bd4-49ea-81c6-8619fe5bc73d', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.721160+00:00', u'is_smartnic': False}, {u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'7b6c9a6c-73c7-4689-b04d-2e9b2fdbca03', u'links': [{u'href': u'http://localhost/v1/ports/7b6c9a6c-73c7-4689-b04d-2e9b2fdbca03', u'rel': u'self'}, {u'href': u'http://localhost/ports/7b6c9a6c-73c7-4689-b04d-2e9b2fdbca03', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.727310+00:00', u'is_smartnic': False}]} {4} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.070257s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-541848b1-2708-4186-8965-c286f58055f9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {37} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.061528s] ... ok GET: /v1/ports {} GOT:{u'ports': []} {4} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.045046s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5e5c8b2c-607d-427c-bb95-39eb12fbfd55 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'5e5c8b2c-607d-427c-bb95-39eb12fbfd55', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/5e5c8b2c-607d-427c-bb95-39eb12fbfd55', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5e5c8b2c-607d-427c-bb95-39eb12fbfd55', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} 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-a2606dcf-e422-4d62-9373-c06aa2bd7ca7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {9} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.049203s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.070702s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_invalid_event_type [0.012087s] ... ok 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-0f03cc20-9efd-4336-9de9-b045415d21ec X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.029026s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.057734s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_advanced_net_fields [0.012850s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups_subcontrollers [0.013192s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.012770s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-24b8292c-ce08-4e29-b5c2-bb9c06a463c3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.075783s] ... ok GET: /v1/portgroups?fields=uuid,extra {} GOT:{u'portgroups': [{u'uuid': u'c8f7feae-2dd8-4d8a-b2c5-e446ea9845d3', u'links': [{u'href': u'http://localhost/v1/portgroups/c8f7feae-2dd8-4d8a-b2c5-e446ea9845d3', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c8f7feae-2dd8-4d8a-b2c5-e446ea9845d3', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'3f0f44f1-372e-412d-ae85-90d69f88b283', u'links': [{u'href': u'http://localhost/v1/portgroups/3f0f44f1-372e-412d-ae85-90d69f88b283', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/3f0f44f1-372e-412d-ae85-90d69f88b283', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'9e513801-b1f7-448d-a44b-bebf53f7aab7', u'links': [{u'href': u'http://localhost/v1/portgroups/9e513801-b1f7-448d-a44b-bebf53f7aab7', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9e513801-b1f7-448d-a44b-bebf53f7aab7', u'rel': u'bookmark'}], u'extra': {}}]} {35} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.097622s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.013031s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid [0.012298s] ... ok {35} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.011830s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.001038+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.001038+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.092306s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c792a98c-cae5-4cd4-954a-e16ff0d97f05 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} {37} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.046278s] ... ok GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'f2199e6e-02d1-4a98-8baf-189d0f25f029', u'links': [{u'href': u'http://localhost/v1/ports/f2199e6e-02d1-4a98-8baf-189d0f25f029', u'rel': u'self'}, {u'href': u'http://localhost/ports/f2199e6e-02d1-4a98-8baf-189d0f25f029', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'7444b11c-c02f-405c-a7fd-a677de292ed5', u'links': [{u'href': u'http://localhost/v1/ports/7444b11c-c02f-405c-a7fd-a677de292ed5', u'rel': u'self'}, {u'href': u'http://localhost/ports/7444b11c-c02f-405c-a7fd-a677de292ed5', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'3d97a339-26b4-4a11-a3a8-fb00cdb87ca5', u'links': [{u'href': u'http://localhost/v1/ports/3d97a339-26b4-4a11-a3a8-fb00cdb87ca5', u'rel': u'self'}, {u'href': u'http://localhost/ports/3d97a339-26b4-4a11-a3a8-fb00cdb87ca5', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'902c76d8-4659-46db-b370-aea5e9e6ca57', u'links': [{u'href': u'http://localhost/v1/ports/902c76d8-4659-46db-b370-aea5e9e6ca57', u'rel': u'self'}, {u'href': u'http://localhost/ports/902c76d8-4659-46db-b370-aea5e9e6ca57', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:33'}, {u'uuid': u'96fe8bdf-e1b0-4e6b-a301-05b7f6c97096', u'links': [{u'href': u'http://localhost/v1/ports/96fe8bdf-e1b0-4e6b-a301-05b7f6c97096', u'rel': u'self'}, {u'href': u'http://localhost/ports/96fe8bdf-e1b0-4e6b-a301-05b7f6c97096', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:34'}]} {36} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.123324s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {35} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.039707s] ... ok 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-c1bde3ca-ebe7-4e62-95c6-28d687c101c5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2020-11-20T07:00:34.662314+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {32} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.085920s] ... ok 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-68b4a030-b545-45c0-940d-59abfaab975c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.686815+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.084821s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': 'a9484dd6-629f-4344-bd56-582be756d13a', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1256b5ba-1119-4034-beee-2deef52bdb2f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node a9484dd6-629f-4344-bd56-582be756d13a could not be found.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.060344s] ... ok POST: /v1/ports {'local_link_connection': {'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-374535df-df84-4328-982c-9eb962c62624 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.415173+00:00", "is_smartnic": false} {26} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.101634s] ... ok 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-96daf347-eea6-4717-b3d6-5ebc972b5ee7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.076577s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-62e91846-a9ce-49d2-9fe5-d53624b187f3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": "noop", "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "description": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": "fake", "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.169030+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": "fake", "protected": false, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "owner": "cowsay", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': u'noop', u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': None, u'driver': u'fake-hardware', u'power_interface': u'fake', u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.169030+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'protected': False, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': u'cowsay', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.113724s] ... ok 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-fe47b75a-4a34-4c79-b8e1-6e8160a3807f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.641298+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.090868s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': '', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53d355ac-7255-43ee-8829-f0a666776007 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.044728s] ... ok 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-eab336a8-8a86-47c4-b4aa-637e19300be9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.036885s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b338af99-467e-44dc-9412-b550f9ce62b6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {37} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.056672s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'foo'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-d426d48c-c0f6-4988-bd04-c10a7c21d010 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.878180+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:aa:aa:11:22:33", "internal_info": {}, "properties": {}, "name": "foo"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.878180+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'aa:aa:aa:11:22:33', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'foo'} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.096008s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-a21cc2c7-8384-4048-963b-c02b8b81e5f8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {32} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.061627s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid [0.011583s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_inspect_abort [0.012335s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d85b79c8-59e8-4c1e-99e5-5deb1b2f2081 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.058911s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'foo', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-295946f9-3c8b-456b-8e36-5466e3611732 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['noop', 'fake'].\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.055827s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=daa58da9-d936-49a1-a1d4-baf806168b31 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'daa58da9-d936-49a1-a1d4-baf806168b31', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/daa58da9-d936-49a1-a1d4-baf806168b31', u'rel': u'self'}, {u'href': u'http://localhost/nodes/daa58da9-d936-49a1-a1d4-baf806168b31', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=daa58da9-d936-49a1-a1d4-baf806168b31 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'daa58da9-d936-49a1-a1d4-baf806168b31', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/daa58da9-d936-49a1-a1d4-baf806168b31', u'rel': u'self'}, {u'href': u'http://localhost/nodes/daa58da9-d936-49a1-a1d4-baf806168b31', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=daa58da9-d936-49a1-a1d4-baf806168b31 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'daa58da9-d936-49a1-a1d4-baf806168b31', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/daa58da9-d936-49a1-a1d4-baf806168b31', u'rel': u'self'}, {u'href': u'http://localhost/nodes/daa58da9-d936-49a1-a1d4-baf806168b31', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {27} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.114665s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {16} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.039123s] ... ok GET: /v1/volume/connectors?sort_key=uuid {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'339acbe9-95c6-47d8-ae4b-e5615edac799', u'links': [{u'href': u'http://localhost/v1/volume/connectors/339acbe9-95c6-47d8-ae4b-e5615edac799', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/339acbe9-95c6-47d8-ae4b-e5615edac799', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'd8a0d5de-cd22-4808-8871-ea12d2665eef', u'links': [{u'href': u'http://localhost/v1/volume/connectors/d8a0d5de-cd22-4808-8871-ea12d2665eef', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/d8a0d5de-cd22-4808-8871-ea12d2665eef', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'f44cf7a6-49c4-46ea-b86d-b350c4af87da', u'links': [{u'href': u'http://localhost/v1/volume/connectors/f44cf7a6-49c4-46ea-b86d-b350c4af87da', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/f44cf7a6-49c4-46ea-b86d-b350c4af87da', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.090481s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5b7c4b62-4658-4961-9982-be3d64a412f4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {35} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.077959s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4c254764-889c-4613-be62-b62342a7675f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.057754s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': None, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-05d9a3a7-b099-4ac1-bd8b-a5b50542b862 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} POST: /v1/nodes {'instance_uuid': None, 'uuid': '15621cef-7f79-44da-9336-490048f7cda0', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/15621cef-7f79-44da-9336-490048f7cda0 Openstack-Request-Id: req-8f3db8d6-c1aa-435c-9fdf-62cef7e449d8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/15621cef-7f79-44da-9336-490048f7cda0", "rel": "self"}, {"href": "http://localhost/nodes/15621cef-7f79-44da-9336-490048f7cda0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "15621cef-7f79-44da-9336-490048f7cda0", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/15621cef-7f79-44da-9336-490048f7cda0/ports", "rel": "self"}, {"href": "http://localhost/nodes/15621cef-7f79-44da-9336-490048f7cda0/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/15621cef-7f79-44da-9336-490048f7cda0 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/15621cef-7f79-44da-9336-490048f7cda0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/15621cef-7f79-44da-9336-490048f7cda0', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'15621cef-7f79-44da-9336-490048f7cda0', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/15621cef-7f79-44da-9336-490048f7cda0/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/15621cef-7f79-44da-9336-490048f7cda0/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.148962s] ... ok DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ab0eb8dd-c1ee-4362-a79a-8efc0702bd50 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.051234s] ... ok 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-2adb1afb-95ef-4a1a-b686-b2c664fb7891 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {37} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.059532s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{u'connectors': [{u'uuid': u'e323fb69-cf20-46c0-acef-f2914206bdcf', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e323fb69-cf20-46c0-acef-f2914206bdcf', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e323fb69-cf20-46c0-acef-f2914206bdcf', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'b92d7666-05fe-404c-a8f2-eebabce0d915', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b92d7666-05fe-404c-a8f2-eebabce0d915', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b92d7666-05fe-404c-a8f2-eebabce0d915', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'6871e17b-4c90-4e5d-92bf-0c81909323c3', u'links': [{u'href': u'http://localhost/v1/volume/connectors/6871e17b-4c90-4e5d-92bf-0c81909323c3', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/6871e17b-4c90-4e5d-92bf-0c81909323c3', u'rel': u'bookmark'}], u'extra': {}}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=6871e17b-4c90-4e5d-92bf-0c81909323c3'} GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-119825d3-107d-4a13-85f8-7fe1667e415e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute target_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.072488s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.048604s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.096699s] ... ok GET: /v1/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'links': [{u'href': u'http://foo/v1/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'rel': u'self'}, {u'href': u'http://foo/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.472327+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'links': [{u'href': u'http://foo/v1/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'rel': u'self'}, {u'href': u'http://foo/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.472327+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'links': [{u'href': u'http://foo/v1/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'rel': u'self'}, {u'href': u'http://foo/ports/5131d0a2-0297-4ce9-b3de-5155cc401b5f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.472327+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {12} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.105020s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': []} {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.048093s] ... ok 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-675dc70c-aa62-49ab-8510-4882bbfe3e22 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.509020+00:00", "updated_at": "2020-11-20T07:00:34.555128+00:00", "address": "aa:bb:cc:dd:ee:ff"} {36} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.091476s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {37} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.044420s] ... ok GET: /v1/volume/connectors?detail=True&node=test-node {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.839134+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {32} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.066273s] ... ok GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f9ef96a4-6c09-480a-bc71-2b8926cad4c6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.046774s] ... ok PUT: /v1/nodes/node-39/traits/bad_trait {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bdbf2352-210b-47cc-a1da-dd0f00e1a7c3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.067418s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2bc2402-d7c1-453f-9b56-5a7c2d6ae465 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "aa:bb:cc:dd:ee:ff"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2020-11-20T07:00:34.747246+00:00", "updated_at": "2020-11-20T07:00:34.794105+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.097817s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=fbfd90bb-a818-47a1-b391-60b7b34fbe8b {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-87217625-bc64-4bba-b660-160230b616dd X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.064299s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_links_node_states_and_driver_properties [0.012776s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_node_rebuild_with_configdrive [0.013183s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_is_smartnic [0.012561s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs [0.013141s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-564b5373-e505-443f-a394-6662b5082bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.059762s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'connector_id': u'iqn.2012-06.com.example:initiator'}]} {35} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.065175s] ... ok PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5dc8966-8f51-4477-9769-90208cbae266 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"No body should be provided when adding a trait\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.067783s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1f0e2b33-fdef-4ffe-b135-37289bfab760 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {1} ironic.tests.unit.api.test_acl.TestACL.test_non_admin [0.053657s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.035581s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.018822s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.107759s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.018655s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.069054s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.024365s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___str__non_string [0.012419s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server [0.012037s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.048351s] ... ok 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-301d55fe-4bc5-4b81-b8d4-822a1d69a959 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.021623s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.076536s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.015282s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.032642s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.065742s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.033145s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-5aa36f54-7b0f-48a6-a274-187e46d86fd2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.436972+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2020-11-20T07:00:34.436972+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.032733s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.109177s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.019097s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.121411s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_local_boot [0.135097s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.017869s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.022725s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.012188s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c2415d24-eb55-4529-ad6c-5e47915d0a5f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.011708s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.080616s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.012566s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.831216s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.302635s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [2.651076s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.014987s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.029498s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.017093s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.049440s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.059048s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.190344s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.334153s] ... ok 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-2fde6e07-6342-4c4d-9cb9-e2a3f2f184aa X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.042254s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.053488s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.080550s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.068240s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.048950s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.060107s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.014328s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.020909s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.010809s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.063243s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.032057s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.059349s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.016417s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.014626s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.012894s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.029602s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.029053s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.046106s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.043718s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.020995s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.020847s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.088262s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.088147s] ... ok 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-0eee60c4-d825-4d2b-9e70-4145007bc205 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.088829s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_fail [0.069417s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.111101s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.033282s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.034632s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.047056s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.018366s] ... ok 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-c81ef2c5-7123-4aa9-b58a-ec749efb48cb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\"}"} {32} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.073512s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.019025s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_no_boot_iso [0.018149s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.085876s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.021794s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.020121s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.026093s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.112321s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.059215s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config [0.630793s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.120804s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.144460s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} GOT:{u'connector_id': u'iqn.2012-06.com.example:initiator', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.064284s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-738e058a-37a8-4c46-af01-a15aea3eb4e8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.018830s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.058145s] ... ok 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-61b11238-2a0a-45a4-bf50-5b710775962a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.080705s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.046357s] ... ok PATCH: /v1/ports/01cd72a2-9445-4888-8f18-d561f0dbd16f [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bcb3eb4a-21b8-4db2-9a11-37640f79d5f7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "01cd72a2-9445-4888-8f18-d561f0dbd16f", "links": [{"href": "http://localhost/v1/ports/01cd72a2-9445-4888-8f18-d561f0dbd16f", "rel": "self"}, {"href": "http://localhost/ports/01cd72a2-9445-4888-8f18-d561f0dbd16f", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.787004+00:00", "address": "52:55:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar"}, "created_at": "2020-11-20T07:00:34.743565+00:00"} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id_not_same [0.100313s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.063883s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.064197s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.083893s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.086075s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_step2 [0.108347s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'foo': 123}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7a71f1fa-6f36-4e0e-bc64-3e620e4c24d8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2020-11-20T07:00:34.913486+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2020-11-20T07:00:34.913486+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {9} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.094186s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': 123, 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c6a24761-9cf7-4fd4-a65d-7814801dfe00 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {35} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.047076s] ... ok 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-f471e83f-0d4e-41c5-9015-6ee8f817172c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.332917+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {27} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.088949s] ... ok {27} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.025296s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5bdd2f43-c061-450f-b898-5b590025916b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {36} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.065420s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=2afaaa3e-5d95-41dd-8d31-7612413b6768 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'2afaaa3e-5d95-41dd-8d31-7612413b6768', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/2afaaa3e-5d95-41dd-8d31-7612413b6768', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2afaaa3e-5d95-41dd-8d31-7612413b6768', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {16} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.075234s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_mandatory [0.011608s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {'traits': ['CUSTOM_3']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0fa4ed5d-6314-4a8b-a6a5-0840c0b4cc8f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.065903s] ... ok 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-64383ece-d902-40e0-aae4-3ed762bd339a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2020-11-20T07:00:35.094871+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.085191s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd9bcd0d-023f-4954-8f82-9c379c9492e6 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {9} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.033254s] ... ok {9} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.020700s] ... ok {9} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.021149s] ... ok {9} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.255010s] ... ok {9} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.070848s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.015579s] ... ok {9} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.022050s] ... ok {9} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.018551s] ... ok {9} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_esp_imageimg [0.025362s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9174a8f3-682b-4898-84ff-3db95a6feee2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.048553s] ... ok {9} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.019567s] ... ok {9} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_no_admin_role [0.035717s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.104071s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f73ab31e-8d05-47f3-9c37-04e9436e8249 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {35} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.035535s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.111361s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.135583s] ... ok 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-790437d8-3981-4b99-acad-6aa54465e02d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {9} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.090649s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.056194s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.026345s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.025757s] ... ok {9} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.012607s] ... ok {9} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.016880s] ... ok {9} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.013911s] ... ok {9} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.030727s] ... ok {9} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.279095s] ... ok {9} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.084050s] ... ok {9} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.051695s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.323823s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.314465s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c97889da-c1da-49a5-97df-11a2df5ac0eb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'value': 123, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4017cc4f-4af9-4d05-8463-0e69aa1b43c3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.059397s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.271229s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.400296s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps [0.080765s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.310593s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.272539s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.313467s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.248135s] ... ok {9} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.022854s] ... ok {9} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.198658s] ... ok {9} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state_old [0.377823s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.451730s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3d92e5ee-0b04-4e59-b812-80155c4779e1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.910021+00:00", "is_smartnic": false} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.076477s] ... ok GET: /v1/ports/detail {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.808934+00:00', u'is_smartnic': False}]} {37} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.080563s] ... ok {9} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.016463s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.034502s] ... ok {9} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.086915s] ... ok {9} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.072508s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e654eb98-8800-4ac1-bc3e-204230b60b4a {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {27} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.034644s] ... ok {9} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.081812s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.013245s] ... ok {27} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.038896s] ... ok {27} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server_fail [0.012815s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.017806s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.013653s] ... ok {27} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.012508s] ... ok {9} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.015199s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.081586s] ... ok {27} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.014575s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.104254s] ... ok GET: /v1/volume/targets?detail=True&node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.979728+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {9} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.090219s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.066562s] ... ok {27} ironic.tests.unit.common.test_json_rpc.TestService.test_invalid_requests [0.040681s] ... ok {9} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.288609s] ... ok {9} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.162441s] ... ok {27} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.007896s] ... ok {27} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.085725s] ... ok {9} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.014667s] ... ok {27} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.066989s] ... ok {9} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.019515s] ... ok {9} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.019615s] ... ok {27} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_rescue [0.103433s] ... ok {9} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.024640s] ... ok {27} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.099053s] ... ok {9} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.039519s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.017928s] ... ok {27} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.018020s] ... ok GET: /v1/ports?fields=address,uuid {} GOT:{u'ports': [{u'uuid': u'af3eaa8e-26c4-4ece-9672-b718d8ede961', u'links': [{u'href': u'http://localhost/v1/ports/af3eaa8e-26c4-4ece-9672-b718d8ede961', u'rel': u'self'}, {u'href': u'http://localhost/ports/af3eaa8e-26c4-4ece-9672-b718d8ede961', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'01cc370a-00ed-4809-9a25-b305bc06b6e2', u'links': [{u'href': u'http://localhost/v1/ports/01cc370a-00ed-4809-9a25-b305bc06b6e2', u'rel': u'self'}, {u'href': u'http://localhost/ports/01cc370a-00ed-4809-9a25-b305bc06b6e2', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'b597de84-43c2-4e85-9f58-235f49f51f7a', u'links': [{u'href': u'http://localhost/v1/ports/b597de84-43c2-4e85-9f58-235f49f51f7a', u'rel': u'self'}, {u'href': u'http://localhost/ports/b597de84-43c2-4e85-9f58-235f49f51f7a', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/ports?sort_dir=asc&sort_key=id&fields=address,uuid&limit=3&marker=b597de84-43c2-4e85-9f58-235f49f51f7a'} {9} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.043735s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.017920s] ... ok {27} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.012655s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.091344s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.028076s] ... ok {27} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.117538s] ... ok {9} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.040551s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.040705s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.067762s] ... ok {27} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.259009s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.063476s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.018245s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_swift_error [0.059256s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated [0.263430s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_with_logs [0.053821s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.113344s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.053344s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.232234s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid [0.100774s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.079726s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_unset_clean_step [0.067563s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.017868s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.329743s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dac9666d-b89c-4910-bcc6-9fd5824fb8e1 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.121795s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.297571s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.037755s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.134652s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.296874s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.045589s] ... ok {27} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.165099s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.083016s] ... ok {27} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.021694s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.017849s] ... ok {27} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.099501s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.042966s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.058316s] ... ok {27} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.140845s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.096209s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.065297s] ... ok {27} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.165408s] ... ok {27} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.116379s] ... ok {27} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.018510s] ... ok {27} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.080450s] ... ok {27} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.084296s] ... ok {27} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.027259s] ... ok {27} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.129169s] ... ok {27} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {27} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.470855s] ... ok {27} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.030672s] ... ok {27} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.046636s] ... 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-60ff6ab1-5abc-4538-800f-ffc99c3332af X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.053139s] ... ok {27} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.017156s] ... ok {27} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.033304s] ... ok {27} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.072701s] ... ok {27} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.033144s] ... ok {27} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.025797s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.062818s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'owner': 'bob', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-45b0e068-0aac-42a4-8c09-09f3e8fdfc00 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.046872s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.027428s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.030720s] ... ok {27} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.054426s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.056925s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.018224s] ... ok PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-26395661-a4f8-4a6b-986b-8d9f7090eb55 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {27} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.006727s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.059126s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.070754s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.077306s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.105183s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_swift_url [0.077792s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_if_invalid_update_mode_provided [0.052683s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.029156s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.050613s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.059589s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.081757s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.021244s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.101398s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.149397s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.119011s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.332302s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.062576s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.057896s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fe70386d-831d-4b93-81a0-38e780a17ab0 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\"}"} {35} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.038590s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.090437s] ... ok {35} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.020098s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.350591s] ... ok {35} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.024943s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.039414s] ... ok {35} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.012440s] ... ok {35} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.015766s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.064227s] ... ok {35} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.069292s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.045167s] ... ok {35} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.022097s] ... ok {35} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.018161s] ... ok {35} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.013786s] ... ok {27} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.025811s] ... ok {35} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.103539s] ... ok {27} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.108868s] ... ok {35} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_ipxe_ipv6 [0.083246s] ... ok {27} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.065718s] ... ok {27} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.055973s] ... ok {35} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.027710s] ... ok {35} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.079941s] ... ok {27} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.098364s] ... ok {35} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.231575s] ... ok {35} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.086043s] ... ok {35} ironic.tests.unit.conductor.test_manager.DoNodeCleanAbortTestCase.test__do_node_clean_abort_with_step_name [0.108726s] ... ok {27} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.058016s] ... ok {35} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.577287s] ... ok GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c74bbe1-96cf-4ce0-80c8-568ab98a6fa8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-997ee986-f1c7-4f5c-9e7f-647e9c265589 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0b34cd4-1cfb-4404-a62c-4360c4971f1d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {27} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off_failed [0.074856s] ... ok {35} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.302739s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.057409s] ... ok 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-fd706983-2aa2-4de3-af93-d645aeaac7ed X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {35} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__old_rest_of_do_node_deploy_no_steps [0.333087s] ... ok {27} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.013366s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.058540s] ... ok {15} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.020720s] ... ok {35} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.112448s] ... ok {27} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.026479s] ... ok {15} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.019426s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dce2dc36-a0a4-453c-8ccd-bd17443336b9 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {35} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.018299s] ... ok 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-db3c8408-f978-4724-ae44-791361bbe2e9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {27} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.007993s] ... ok GET: /v1/ports?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14ba7dc7-2afa-4905-94e7-bce44d3f0ee0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\"}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.033095s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.053200s] ... ok {15} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.016771s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.034865s] ... ok {35} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.261980s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonsupported_image [0.073908s] ... ok {15} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.024156s] ... ok {35} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.021919s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.054567s] ... ok {35} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.020856s] ... ok {15} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version_and_cap [0.021470s] ... ok {27} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.012865s] ... ok {27} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.017999s] ... ok {15} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.012716s] ... ok {35} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.023716s] ... ok {35} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.091859s] ... ok {15} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.092110s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.051538s] ... ok {35} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.086422s] ... ok {15} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.069537s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.055778s] ... ok {35} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.017622s] ... ok 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-37358317-2ccf-4d3d-a868-26ad360c5fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'is_smartnic': True} {28} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.069450s] ... ok {15} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.018676s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.021390s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.026447s] ... ok {35} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.107320s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.018413s] ... ok {35} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.089705s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.092772s] ... ok {35} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.131855s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.021195s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.033008s] ... ok {35} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.135328s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [2.061625s] ... ok {15} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.011445s] ... ok {35} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.092401s] ... ok {35} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.032723s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.020245s] ... ok {15} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.016725s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.036389s] ... ok {35} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.023761s] ... ok {15} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.304056s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_with_deployment_reboot [0.066238s] ... ok {35} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.029051s] ... ok {15} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.336272s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_with_smartnic_port [0.076541s] ... ok {35} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.046937s] ... ok {15} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.275611s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.015006s] ... ok {35} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.061472s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.422299s] ... ok {35} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.031674s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.137769s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.036803s] ... ok {35} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.028120s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.069479s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test_do_node_deploy_steps_old_rpc [0.300365s] ... ok {35} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.035660s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.074473s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.077709s] ... ok {35} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.035521s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.036736s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.264649s] ... ok {35} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.033831s] ... ok {15} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.020888s] ... ok {15} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.122351s] ... ok {35} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.046913s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_fixes_and_logs_boot_option_warning [0.091872s] ... ok {35} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.030871s] ... ok {15} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.029034s] ... ok {15} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.064839s] ... ok {35} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.036899s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.011803s] ... ok {35} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.124916s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.009676s] ... ok {15} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.107778s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.012471s] ... ok {35} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_with_smartnic_port [0.086918s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.009117s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.012304s] ... ok {35} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.098973s] ... ok {27} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.006171s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.014298s] ... ok {35} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state_fail [0.093730s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.018144s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'e6d4d32c-82df-47b7-9dd4-6cb4d93de8f1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4eab8c37-9ec4-4d2c-b5ad-2b0687306ac6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.833016+00:00"} {35} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.029809s] ... ok {27} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.015288s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.037147s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.092140s] ... ok {35} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.030414s] ... ok {27} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.044035s] ... ok {15} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.016540s] ... ok {35} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.038117s] ... ok {35} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.042297s] ... ok {15} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.042855s] ... ok {27} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.043437s] ... ok {35} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.094012s] ... ok {35} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.031328s] ... ok {15} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.659159s] ... ok {27} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.047621s] ... ok {35} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_reboot [5.275322s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e9ffd160-63dc-4f65-a019-ef823da2c61b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.931180+00:00", "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.884649+00:00"} {27} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.006676s] ... ok {15} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.029128s] ... ok {35} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance [0.037925s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.095930s] ... ok {27} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.014129s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '1654f755-f43f-4519-b39b-610c4171294d', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b9934840-7718-47e6-a1e2-114e37e90bc4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "1654f755-f43f-4519-b39b-610c4171294d", "updated_at": "2020-11-20T07:00:34.802913+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.745469+00:00"} {15} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.007919s] ... ok {35} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.054261s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.106920s] ... ok {27} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.012123s] ... ok {35} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.008366s] ... ok {15} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.077686s] ... ok {15} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.025654s] ... ok {35} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_not_supported [0.024867s] ... ok {35} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.078110s] ... ok {15} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on_timeout [0.090277s] ... ok {35} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.058967s] ... ok 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-fa4678b1-81d5-4e60-a10c-5051a15bd9ba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.061683s] ... ok {15} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_ok [0.092075s] ... ok {35} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.047516s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7ef9e30e-03bb-4db2-9a78-3d7618ac956e {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.032928s] ... ok {35} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.014252s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.092362s] ... ok {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.031023s] ... ok {35} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.045490s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid [0.066656s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': True} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6f76af26-58f5-4316-b73e-0a89371e81ad X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.068147s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.026409s] ... ok {35} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.049442s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.085327s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.133933s] ... ok {35} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.061051s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.019488s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.106075s] ... ok {35} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.054671s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.019593s] ... ok {35} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.036080s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.137069s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_mkisofs_fails [0.028843s] ... ok {35} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.054039s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.105129s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_uefi_rootfs_fails [0.029489s] ... ok {35} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.122491s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.016206s] ... ok {35} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.060706s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.026265s] ... ok {3} ironic.tests.unit.common.test_json_rpc.TestService.test_missing_argument [0.037425s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.012341s] ... ok {35} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloaderi_with_prep [0.007080s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.089073s] ... ok {35} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities_none [0.043971s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.013257s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.016724s] ... ok {35} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.013865s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.026014s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.017987s] ... ok {35} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.020853s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.027598s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef4d9fe1-1f61-491f-9a80-a97581dfdf37 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.057308s] ... ok {35} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.069245s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.080653s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.044867s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'cc03ab3e-ecbd-477d-b644-384f57046da6'}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f2d7a3a3-80d6-412d-8d74-62288b5755e5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "cc03ab3e-ecbd-477d-b644-384f57046da6"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "cc03ab3e-ecbd-477d-b644-384f57046da6"}, "created_at": "2020-11-20T07:00:34.711367+00:00", "is_smartnic": false} {36} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.090310s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.032763s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.081321s] ... ok {35} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.010411s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.067164s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.148432s] ... ok {35} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.012764s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.013289s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.009069s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.138834s] ... ok {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.012452s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.015159s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/132f494f-7739-4247-8d38-b5ae23f55a98 [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9d1d58f9-6573-401d-be15-63c2729da71c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.206920s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.069245s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.067208s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.049546s] ... ok GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-22ef0653-28d3-4817-9810-5d7ede3b8af8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.227202s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.031448s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.046530s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.203165s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.312480s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.020505s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.043908s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.390074s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.049019s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.088149s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.259073s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.052890s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.097064s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.086590s] ... ok {35} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.122692s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.209251s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.087840s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9db0fd4b-ca57-418b-9f87-17930f31218f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.493379+00:00", "is_smartnic": false} {35} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.088757s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.276904s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.097829s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.030883s] ... ok {35} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_fast_track [0.074768s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.014567s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.056135s] ... ok {35} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.013975s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.019356s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.074062s] ... ok {35} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.030137s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.047797s] ... ok {35} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.019441s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.046282s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.077961s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.021047s] ... ok {35} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.011681s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.090342s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.114039s] ... ok {35} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.011180s] ... ok {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.020008s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.046123s] ... ok {35} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.013310s] ... ok {35} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.008690s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.079544s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_auto [0.051470s] ... ok {35} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.008745s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.018270s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.018240s] ... ok {35} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_username [0.035248s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.019347s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.172704s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.079608s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.121335s] ... ok {35} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.007848s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_error [0.217518s] ... ok {35} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_default_interfaces [0.041175s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.014844s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.034550s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_in_core_deploy_step [0.094167s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.033837s] ... ok {35} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.039178s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities [0.079776s] ... ok {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.014334s] ... ok {35} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.011064s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.011836s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.017541s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.084692s] ... ok {35} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.018288s] ... ok GET: /v1/portgroups/58ae7af2-67ca-4f94-b12c-57da93f227a4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.009095s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.042866s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.080141s] ... ok {35} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.009978s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.011672s] ... ok {35} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.013710s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.092175s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.027722s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.008998s] ... ok {35} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.013572s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.024765s] ... ok {35} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.006308s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.016158s] ... ok {35} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.014713s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.019968s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.071808s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.023436s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.034189s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.073014s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.049891s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.031690s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.083479s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.018828s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.067191s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false [0.072850s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.082539s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_fast_track [0.085314s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.045124s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.013510s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.061620s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed [0.066365s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.011815s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info [0.025787s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.100529s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.011282s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.017439s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.010556s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e6e88211-2bb1-4fca-a708-b989bf559e69 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2000-01-01T00:00:00+00:00", "is_smartnic": false} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'is_smartnic': False} {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_ok [0.018063s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.119341s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.010283s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root [0.099859s] ... ok {15} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info [0.037250s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.089851s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.085746s] ... ok {15} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_password [0.042287s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.027169s] ... ok {15} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.050506s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.120612s] ... ok {15} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.007678s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.037177s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.083785s] ... ok {15} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.008938s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.018076s] ... ok {15} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.056451s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.047336s] ... ok {15} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.015328s] ... ok {15} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.012568s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.048303s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.072271s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.010581s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.023182s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'traits': ['CUSTOM_4'], 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-118c0532-c7c5-46ea-86b1-ec976c9e7047 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot specify node traits on node creation. Traits must be set via the node traits API.\"}"} {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.011223s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.043671s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.074498s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.012399s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.122154s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.011863s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.111859s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.069186s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.011709s] ... ok {15} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.015160s] ... ok {15} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.014577s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.020970s] ... ok {15} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.007115s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered [0.060030s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.111886s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.007664s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.130370s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.068386s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.013883s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.014472s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.010129s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.075033s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.027280s] ... ok {15} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.010202s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.026149s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.022158s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.063360s] ... ok 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-d23f0e02-6dff-4d3a-9b89-38744791591f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.055742s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.079377s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.064538s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.021610s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.020036s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.022102s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.060635s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.016763s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.059169s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.044463s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_instance_ramdisk [0.141060s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.010888s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.010523s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device_fail [0.129909s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.008528s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.009576s] ... ok GET: /v1/volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /v1/volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /v1/volume/connectors {} GOT:{u'connectors': []} GET: /volume/connectors {} GOT:{u'connectors': []} GET: /v1/volume/targets {} GOT:{u'targets': []} GET: /volume/targets {} GOT:{u'targets': []} {16} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.088900s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.060418s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.017481s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.022142s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 1234, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6b719069-20e9-443b-864a-04327a17b789 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.025657s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.065235s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.022303s] ... ok GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c0045770-0c21-45fd-9e44-aec193426b14 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.046808s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.020979s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.016704s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.011735s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.007471s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.009625s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.008003s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.008292s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.010557s] ... ok 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-34ef8810-fb15-4311-bf2a-92509fd76602 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.098815+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.010532s] ... ok {32} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.090544s] ... ok {32} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.101228s] ... ok {32} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.020065s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'AA:BB:CC:DD:EE:FF', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a17d0ea2-6bfa-42fc-949c-e081fa93ce78 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "created_at": "2020-11-20T07:00:34.892537+00:00", "is_smartnic": false} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'aa:bb:cc:dd:ee:ff', u'internal_info': {}, u'created_at': u'2020-11-20T07:00:34.892537+00:00', u'is_smartnic': False} 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-ff5b0204-8f06-4592-b45b-2ea92538ad2c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot update port \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c781\\\" on \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\"}"} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.126257s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.093687s] ... ok {32} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.011476s] ... ok {32} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.020577s] ... ok {32} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.088479s] ... ok {32} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.016592s] ... ok {32} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.066964s] ... ok {32} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.012457s] ... ok {32} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.011893s] ... ok {32} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.016649s] ... ok {32} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.011786s] ... ok {32} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.122901s] ... ok {32} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.113776s] ... ok {32} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.131849s] ... ok {32} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.301279s] ... ok {32} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.051322s] ... ok 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-06bc486a-30c7-42b9-a111-9170ef053e08 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:34.677411+00:00", "physical_network": "physnet2", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2020-11-20T07:00:34.644918+00:00"} {32} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.025037s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.066922s] ... ok {32} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.021080s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.011432s] ... ok {32} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.020885s] ... ok {32} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.120806s] ... ok {32} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.017388s] ... ok {32} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.053923s] ... ok {32} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.027786s] ... ok {32} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.026855s] ... ok {32} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.027257s] ... ok {32} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.011768s] ... ok {32} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.018273s] ... ok {32} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.036380s] ... ok {32} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.034231s] ... ok {32} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.034173s] ... ok {32} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.016096s] ... ok {32} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.111246s] ... ok {32} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.127745s] ... ok {32} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.024579s] ... ok {32} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.023146s] ... ok {32} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.051908s] ... ok POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d97dca0-81cc-4ba7-8a56-417a1d30e0e5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} GET: /v1/volume/connectors?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {36} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.043027s] ... ok {32} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.024112s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.038336s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.012857s] ... ok {32} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.037741s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_local_link_mandatory_key [0.011909s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.011625s] ... ok {32} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.043787s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_dynamic_drivers [0.013011s] ... ok {32} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.225190s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_remove_chassis_uuid [0.012277s] ... ok {32} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.041808s] ... ok {32} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.013273s] ... ok {36} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.011325s] ... ok {32} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.031972s] ... ok {32} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.026308s] ... ok {32} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.095948s] ... ok {32} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device_fail [0.095619s] ... ok {32} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.085532s] ... ok {32} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.025689s] ... ok {32} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.028636s] ... ok {32} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.029567s] ... ok {32} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.019221s] ... ok {32} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.154258s] ... ok {32} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration [0.134752s] ... ok 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-3ec4b9e8-d9a4-4861-9339-3062752a2a4a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.047464s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.013558s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76669a0f-bad9-414c-8650-e1832add77f2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {29} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.047506s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.533562+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.533562+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'foo': u'bar'}} {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.069013s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-c0684507-e1b2-4cda-8067-597cd51624bc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.604919+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:aa:aa:11:22:33", "internal_info": {}, "properties": {}, "name": "fooname"} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '48f249a9-addb-4099-8b7c-29a028cc8afd', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': '69bf7c4f-e631-4e00-878b-91f0457bfdba'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-21260ee2-0e33-4024-8a71-cf53302a9ed6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.092848s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1a6a8031-c702-4e34-9949-cebfe18e11cb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.081581s] ... ok 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-4fee6ba8-86dd-430e-bf2d-16e1ad82a889 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {36} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.054312s] ... ok 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-c495d7f4-6256-4cf1-945f-f4132757b11d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.060673s] ... ok GET: /v1/volume/targets?node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'5bb5c8f3-29b8-42c6-a015-8151cd4450a1', u'links': [{u'href': u'http://localhost/v1/volume/targets/5bb5c8f3-29b8-42c6-a015-8151cd4450a1', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/5bb5c8f3-29b8-42c6-a015-8151cd4450a1', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'fd5703dc-9097-40ea-a97d-bffc9880e5c0', u'links': [{u'href': u'http://localhost/v1/volume/targets/fd5703dc-9097-40ea-a97d-bffc9880e5c0', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/fd5703dc-9097-40ea-a97d-bffc9880e5c0', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'eaa82ac9-f30a-4947-9867-03ae176581a7', u'links': [{u'href': u'http://localhost/v1/volume/targets/eaa82ac9-f30a-4947-9867-03ae176581a7', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/eaa82ac9-f30a-4947-9867-03ae176581a7', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.105820s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c6fcc74d-803b-4808-9d06-08304328bdcb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "created_at": "2020-11-20T07:00:35.027641+00:00", "updated_at": "2020-11-20T07:00:35.083145+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar", "bar": "buzz"}, "properties": {}, "name": "fooname"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id_deprecated [0.104391s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPortgroupObject.test_portgroup_init [0.012240s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.012809s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_local_link_keys_mandatory [0.011980s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.011831s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.012988s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.008667s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3af782eb-af22-43b2-82b1-8c5d884b3d6e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "value3", "port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.973042+00:00", "is_smartnic": false} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.096504s] ... ok POST: /v1/heartbeat/test.1 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-ec32e2e9-fe11-4054-bf74-0999643c9318 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {29} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.056445s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values [0.011493s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.028613s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op [0.014610s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface_fail [0.013480s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.013366s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.011391s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'resource_class': 'foo', 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-77731f1f-a51d-428d-bf01-1e03fe0bb150 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": "noop", "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "description": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": "fake", "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": "foo", "fault": null, "created_at": "2020-11-20T07:00:34.738547+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": "fake", "protected": false, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': u'noop', u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'maintenance': False, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'description': None, u'conductor': None, u'driver': u'fake-hardware', u'power_interface': u'fake', u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'fault': None, u'created_at': u'2020-11-20T07:00:34.738547+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'protected': False, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'owner': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'allocation_uuid': None} {9} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [12.674284s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.119127s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.014666s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'foo'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-873abc54-57f0-4c8c-98d5-1e502b1d1127 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "foo"}, "created_at": "2020-11-20T07:00:35.102141+00:00", "is_smartnic": false} {37} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id_deprecated [0.105515s] ... ok {9} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.050799s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81c7d86f-358e-424b-8dc6-50acd61655ba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.048147s] ... ok POST: /v1/portgroups {'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f4815f6c-9d1f-4f16-a8bf-ea5a2700afb7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.053951s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'foo': 123}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d1fb4946-4fa9-4ba6-88d5-dd2a2559a2e5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.889945+00:00", "is_smartnic": false} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2020-11-20T07:00:34.889945+00:00', u'is_smartnic': False} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.105536s] ... ok GET: /v1/ports/detail {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch', u'port_id': u'Gig0/1', u'switch_id': u'aa:bb:cc:dd:ee:ff'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2020-11-20T07:00:34.648134+00:00', u'is_smartnic': True}]} {17} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.075852s] ... ok GET: /v1/portgroups?fields=address,uuid {} GOT:{u'portgroups': [{u'uuid': u'77912b4e-69bd-4c6e-9663-eadacd0c3da2', u'links': [{u'href': u'http://localhost/v1/portgroups/77912b4e-69bd-4c6e-9663-eadacd0c3da2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/77912b4e-69bd-4c6e-9663-eadacd0c3da2', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'60e6cf38-3b5c-4515-b10d-cf88fa9c9859', u'links': [{u'href': u'http://localhost/v1/portgroups/60e6cf38-3b5c-4515-b10d-cf88fa9c9859', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/60e6cf38-3b5c-4515-b10d-cf88fa9c9859', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'23f04790-9236-4914-a12a-d6a03c4c4faa', u'links': [{u'href': u'http://localhost/v1/portgroups/23f04790-9236-4914-a12a-d6a03c4c4faa', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/23f04790-9236-4914-a12a-d6a03c4c4faa', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/portgroups?sort_dir=asc&sort_key=id&fields=address,uuid&limit=3&marker=23f04790-9236-4914-a12a-d6a03c4c4faa'} {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.076621s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'bb9681e8-8af4-42f4-b533-55804ed3c5ee'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-08c8363b-38af-4ea8-b02e-e6c7467df8ea X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "bb9681e8-8af4-42f4-b533-55804ed3c5ee"}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bb9681e8-8af4-42f4-b533-55804ed3c5ee"}, "created_at": "2020-11-20T07:00:34.790985+00:00", "is_smartnic": false} {28} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.106449s] ... ok GET: /v1/nodes/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-de378232-17e5-4f85-8f4f-e4236f0f3e95 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.067733s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.066121s] ... ok GET: /v1/volume/targets?fields=uuid,extra {} GOT:{u'targets': [{u'uuid': u'7cca3a0f-63dc-47a3-8c7e-e20f4a9b31b1', u'links': [{u'href': u'http://localhost/v1/volume/targets/7cca3a0f-63dc-47a3-8c7e-e20f4a9b31b1', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7cca3a0f-63dc-47a3-8c7e-e20f4a9b31b1', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'ae266a64-4084-4c8f-9577-b46512b297b2', u'links': [{u'href': u'http://localhost/v1/volume/targets/ae266a64-4084-4c8f-9577-b46512b297b2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/ae266a64-4084-4c8f-9577-b46512b297b2', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'7978a155-b79f-495b-b2f8-9a34e9fd8414', u'links': [{u'href': u'http://localhost/v1/volume/targets/7978a155-b79f-495b-b2f8-9a34e9fd8414', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7978a155-b79f-495b-b2f8-9a34e9fd8414', u'rel': u'bookmark'}], u'extra': {}}]} {36} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.093012s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-299b34f1-281c-4c8d-9758-8bcf86c2898c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:35.022025+00:00", "is_smartnic": false} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.104452s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-d7e891a5-056f-4ba3-b715-29e05ab66466 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {26} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.056524s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': '133d73cf-ddc6-4256-a5f7-ed1416692c0c'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-bf067272-e452-4f3e-bd7b-fee48388fe2a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.079066s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a66e5301-a43c-45a2-9bb9-93324e251fcb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.059188s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_on_fails [0.086374s] ... ok GET: /v1/portgroups?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a11becf1-6308-4487-a7ee-4ad6de6163a0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.039199s] ... ok 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-0bd3647d-a40b-47d0-8260-62d7350a779e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.053469s] ... ok GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{u'portgroups': []} {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.036956s] ... ok 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-df0615cc-8e96-46a7-9708-33209c99829a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.063776s] ... ok {16} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.025340s] ... ok {16} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.079686s] ... ok {16} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.011729s] ... ok {16} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.022017s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.022545s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.085376s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.087413s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'internal_info': {'a': 'b'}, 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28d86908-a508-45aa-adee-0e1b1281b374 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute internal_info. Value: '{u'a': u'b'}'. Cannot set read only field.\"}"} {16} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.083699s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.049597s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.088201s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.052757s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.040214s] ... ok {16} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.012288s] ... ok {16} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.013086s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.006210s] ... ok {16} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.010559s] ... ok {16} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.010159s] ... ok {16} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.054466s] ... ok {16} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.317817s] ... ok {16} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.241855s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-84bf48f9-edc2-41b5-be93-6e63695ff58a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.818170+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/ports?detail=False {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {16} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.320917s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.088150s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.075673s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.010685s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.255944s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_deploy_steps_unset_deploy_step [0.080271s] ... ok 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-e8c724c0-8e58-4709-89cb-5d93e90217cb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\"}"} {36} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.052810s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.359269s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.005991s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.212593s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.240551s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.294942s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.020262s] ... ok {16} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.270026s] ... ok {16} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.160316s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.108928s] ... ok {16} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.026921s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.020685s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.023661s] ... ok {16} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.086189s] ... ok {16} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.080587s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.019758s] ... ok {16} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.031261s] ... ok {16} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.014314s] ... ok {16} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.014153s] ... ok {16} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.086875s] ... ok {16} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.129085s] ... ok {16} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.012526s] ... ok {16} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {16} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.038618s] ... ok POST: /v1/ports {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f5e499fd-5843-4f85-8cb9-f95c33ef704b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.975374+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {16} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.021853s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.058361s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ad267d63-346f-4199-92f4-1551f2b2e66c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:34.645882+00:00", "is_smartnic": false} {19} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.084530s] ... ok {16} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.026528s] ... ok {16} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.033039s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_network_port_event [0.007788s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_simple_event_type [0.007937s] ... ok {16} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.085493s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver [0.008999s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.078267s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.011264s] ... ok {16} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.094812s] ... ok {16} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.087766s] ... ok {16} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.088231s] ... ok {16} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.087863s] ... ok {16} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.026037s] ... ok {16} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.026214s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.030876s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [0.084406s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.080147s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.042007s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.123333s] ... ok {16} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.067607s] ... ok {16} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.046204s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.080502s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.146125s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.025582s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.065629s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root [0.054841s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration [0.053632s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.052140s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.075998s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.085124s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.016549s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.050129s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.055045s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.049863s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.038223s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.053535s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_object [0.024227s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.081581s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.058106s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.136481s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.050930s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step1 [0.074934s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.059587s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.092149s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.094735s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_missing_command_result [0.065193s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.172338s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue [0.076061s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_with_reservation [0.122975s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_interface [0.057466s] ... ok {16} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.026973s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.019306s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.046160s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_running [0.051852s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.008576s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.007530s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.093624+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'automated_clean': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'deploy_step': {}, u'storage_interface': None, u'conductor_group': u'', u'protected_reason': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'last_error': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': None, u'updated_at': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': None, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'fault': None, u'created_at': u'2020-11-20T07:00:34.093624+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'protected': False, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.087334s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.021151s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.008721s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.018797s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.056389s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.091454s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.865631s] ... ok {16} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.044658s] ... ok {16} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.041268s] ... ok {16} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_iscsi [0.071574s] ... ok {16} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.091981s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.025076s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.020539s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.013521s] ... ok {16} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm [0.106536s] ... ok {16} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.007196s] ... ok {16} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.009836s] ... ok {16} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.049996s] ... ok {16} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_with_no_raid [0.047051s] ... ok {16} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.010524s] ... ok {16} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.006929s] ... ok {16} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.010803s] ... ok {16} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.008182s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device [0.044221s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.006812s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.018246s] ... ok {16} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.022198s] ... ok POST: /v1/ports {'local_link_connection': {'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e534fa18-6559-4640-b7b8-2261202692d5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.060605s] ... ok 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-a0320b07-3515-4a05-a9f6-dfcdc6efcc5c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\"}"} {36} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.056032s] ... ok {36} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.022329s] ... ok {36} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.020469s] ... ok PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6023048-a64b-4985-a8c1-cdd3763500cb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff1c32db-3995-46f3-ba9d-00d3b41c25e7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dbb83313-8677-4dc1-b676-c2f49fc55036 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-89f84530-43d2-498d-8ede-f7db5b0f7eba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-322e9219-5521-4f86-9369-640f3d230012 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecb2a028-b5ee-424c-a693-f706ab588160 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12b4d81e-f0b7-41dd-a972-d8ea65b3098d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8e0c075-581e-4a99-9c8c-74077e883d90 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "47bd0d8b-94e3-4f08-ad25-4263c0c9330e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:33.914591+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "self"}, {"href": "http://localhost/nodes/47bd0d8b-94e3-4f08-ad25-4263c0c9330e/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.330789s] ... ok {36} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.011576s] ... ok {36} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.013603s] ... ok {36} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.036491s] ... ok {36} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.018284s] ... ok {36} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.015785s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'test-connector-id-456'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-16ac3971-1c3d-4a32-9f06-665bca543fe1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.210273+00:00", "updated_at": null, "connector_id": "test-connector-id-456", "type": "iqn"} POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': 'b7dc9dc4-6a39-4b88-8e5d-992431fbb36f', 'connector_id': 'test-connector-id-456'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9f252616-4233-4871-9062-886dabb792a9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\"}"} {36} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.024145s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.057831s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.060875s] ... ok {36} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure [0.036342s] ... ok {36} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.031787s] ... ok {36} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.017370s] ... ok {36} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.070272s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.042921s] ... ok {36} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.092750s] ... ok {36} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.025876s] ... ok {36} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.022962s] ... ok {36} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.014902s] ... ok {36} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.020665s] ... ok {36} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.318218s] ... ok {36} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.247982s] ... ok {36} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance [0.089850s] ... ok {36} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.135045s] ... ok {36} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.240242s] ... ok {36} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.296896s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch', 'port_id': 'Gig0/1', 'switch_id': 'aa:bb:cc:dd:ee:ff'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1477f5bb-58cd-43ae-af6b-b0945c295c81 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\"}"} {37} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.063708s] ... ok {36} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.022839s] ... ok {36} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.159911s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo {24} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.061496s] ... ok {36} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.096982s] ... ok {36} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.239791s] ... ok {36} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.031511s] ... ok {36} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.126624s] ... ok {36} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.058205s] ... ok {36} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.023499s] ... ok {36} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.019812s] ... ok {36} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.019703s] ... ok {36} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.106293s] ... ok {36} ironic.tests.unit.conductor.test_steps.ValidateDeployTemplatesTestCase.test_ok [0.078396s] ... ok {36} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.075117s] ... ok {36} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.016141s] ... ok {36} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.011791s] ... ok {36} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.026882s] ... ok {36} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.037961s] ... ok {36} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.032774s] ... ok {36} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.033223s] ... ok {36} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.037965s] ... ok {36} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.039942s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f85d6cc-7131-4e38-ab51-b5b406cbcd38 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.055793s] ... ok {36} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.053117s] ... ok {36} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.033719s] ... ok GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.56', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}]} {26} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.036035s] ... ok {36} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.026540s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.011585s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.013649s] ... ok {36} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.019671s] ... ok {36} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.064677s] ... ok {36} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed [0.107007s] ... ok {36} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.029647s] ... ok {36} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.017453s] ... ok {36} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.043752s] ... ok {36} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.062599s] ... ok {36} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.080336s] ... ok {36} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.009272s] ... ok {36} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.079733s] ... ok {36} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.094553s] ... ok {36} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_clean_step_foreach_url [0.106067s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.037280s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.090890s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.587733s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.020305s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.027385s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.063644s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.052865s] ... ok {36} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.044821s] ... ok {36} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.061885s] ... ok {36} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.032240s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.083378s] ... ok {36} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.073973s] ... ok {36} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.081032s] ... ok {36} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.079248s] ... ok {36} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.141841s] ... ok {36} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.127480s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} GOT:{u'address': u'52:54:00:cf:2d:31', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.054877s] ... ok {36} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.110026s] ... ok {36} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.022479s] ... ok {36} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.053110s] ... ok {36} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy [0.050885s] ... ok {36} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.020938s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'92214f37-9f4a-42cd-b675-ebeb762396b4', u'links': [{u'href': u'http://localhost/v1/volume/targets/92214f37-9f4a-42cd-b675-ebeb762396b4', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/92214f37-9f4a-42cd-b675-ebeb762396b4', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'3b279c81-08be-4ee2-9a92-2838fba88f33', u'links': [{u'href': u'http://localhost/v1/volume/targets/3b279c81-08be-4ee2-9a92-2838fba88f33', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/3b279c81-08be-4ee2-9a92-2838fba88f33', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'd6e07397-2a36-4d45-8570-c2a98b77da07', u'links': [{u'href': u'http://localhost/v1/volume/targets/d6e07397-2a36-4d45-8570-c2a98b77da07', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/d6e07397-2a36-4d45-8570-c2a98b77da07', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 3, u'uuid': u'a0c53a98-dbb2-4565-a779-4f88535a29ea', u'links': [{u'href': u'http://localhost/v1/volume/targets/a0c53a98-dbb2-4565-a779-4f88535a29ea', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/a0c53a98-dbb2-4565-a779-4f88535a29ea', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 4, u'uuid': u'bd8f5f70-abc3-4b07-be35-d0d911b5a085', u'links': [{u'href': u'http://localhost/v1/volume/targets/bd8f5f70-abc3-4b07-be35-d0d911b5a085', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/bd8f5f70-abc3-4b07-be35-d0d911b5a085', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.122916s] ... ok {36} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step [0.055431s] ... ok {36} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.008436s] ... ok {36} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.014449s] ... ok {36} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.013413s] ... ok {36} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.052354s] ... ok {36} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.050013s] ... ok {36} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.048536s] ... ok {36} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.021355s] ... ok {36} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.568653s] ... ok {36} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.041984s] ... ok {36} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot_uefi [0.093481s] ... ok {36} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.135119s] ... 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, \"description\": \"\", \"title\": \"Not Found\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.029513s] ... ok {36} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.007515s] ... ok {36} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.014188s] ... ok {36} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [1.017547s] ... ok {36} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [9.018488s] ... ok {36} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.043417s] ... ok {36} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.040982s] ... ok {36} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_address [0.033297s] ... ok {36} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state [0.102420s] ... ok {36} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.006521s] ... ok {36} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.008423s] ... ok {36} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.041138s] ... ok {36} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.042667s] ... ok {36} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.048835s] ... ok {36} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.056645s] ... ok {36} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.010297s] ... ok {36} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.010007s] ... ok {36} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.006435s] ... ok {36} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.009261s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.980390+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch', u'port_id': u'Gig0/1', u'switch_id': u'aa:bb:cc:dd:ee:ff'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'created_at': u'2020-11-20T07:00:34.980390+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.079669s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-2f20fbda-becd-445a-9077-1cca3a7921c9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {24} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.058100s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-22c67761-cb62-4ced-864f-66839224e342 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:35.121617+00:00", "is_smartnic": false} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.103129s] ... ok 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-dac54afa-f038-417a-ab04-e9082ed18295 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.774101+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.069617s] ... ok POST: /v1/ports {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-17b99f96-7803-4b04-9384-ca046f8f34c4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.060495s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': '9597541a-d531-4a09-9294-866bd7e7606e'}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-be79b47c-8652-445e-97c9-44dd0eba89ef X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "9597541a-d531-4a09-9294-866bd7e7606e"}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "9597541a-d531-4a09-9294-866bd7e7606e"}, "created_at": "2020-11-20T07:00:35.127148+00:00", "is_smartnic": false} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.090552s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'fdb36814-f2a2-43ac-b95b-997a6d9da727', u'links': [{u'href': u'http://localhost/v1/volume/targets/fdb36814-f2a2-43ac-b95b-997a6d9da727', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/fdb36814-f2a2-43ac-b95b-997a6d9da727', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'6904bf98-9b6c-40e6-bdc8-a94eba51dc8d', u'links': [{u'href': u'http://localhost/v1/volume/targets/6904bf98-9b6c-40e6-bdc8-a94eba51dc8d', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/6904bf98-9b6c-40e6-bdc8-a94eba51dc8d', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'e3625c17-e612-4fc8-82c1-7cea29921024', u'links': [{u'href': u'http://localhost/v1/volume/targets/e3625c17-e612-4fc8-82c1-7cea29921024', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/e3625c17-e612-4fc8-82c1-7cea29921024', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=e3625c17-e612-4fc8-82c1-7cea29921024'} {29} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.105563s] ... ok GET: /v1/volume/targets?fields=boot_index&limit=2 {} GOT:{u'targets': [{u'boot_index': 0, u'links': [{u'href': u'http://localhost/v1/volume/targets/5ae7d79b-6644-42c1-8b37-17dd64fdf0b6', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/5ae7d79b-6644-42c1-8b37-17dd64fdf0b6', u'rel': u'bookmark'}]}, {u'boot_index': 1, u'links': [{u'href': u'http://localhost/v1/volume/targets/d7e5f1a7-1112-4ce3-ad51-d2be317a340c', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/d7e5f1a7-1112-4ce3-ad51-d2be317a340c', u'rel': u'bookmark'}]}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=d7e5f1a7-1112-4ce3-ad51-d2be317a340c'} {4} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.062937s] ... ok GET: /v1/volume/connectors?detail=True {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.849547+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.069130s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6ec8dd4-0947-4ada-be99-78145ce596ba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.048763s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-864243d8-098c-4e99-985f-ca2c8da15af9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {29} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.036751s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.077184s] ... ok {29} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.025247s] ... ok {29} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.017215s] ... ok {29} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.017777s] ... ok {29} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_connerror [0.013896s] ... ok {29} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.019013s] ... ok {29} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success [0.022607s] ... ok {29} ironic.tests.unit.common.test_json_rpc.TestService.test_mask_secrets [0.052190s] ... ok {29} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.086480s] ... ok {29} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.102124s] ... ok {29} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.105760s] ... ok {29} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.087998s] ... ok {29} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.018911s] ... ok {29} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe [0.118290s] ... ok {29} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.050888s] ... ok {29} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.029173s] ... ok {29} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.191992s] ... ok {29} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.290725s] ... ok {29} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_skip_step [0.221815s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.101231s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.296727s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.299630s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.271553s] ... ok {29} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.272986s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ee6bce73-fd39-4d30-8bdb-1db9097478b3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.047089s] ... ok {29} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift [0.057960s] ... ok {29} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.086715s] ... ok {29} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.097804s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb5ec771-b56d-493d-9b6c-92c99120da85 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'value': u'1', 'op': 'replace'}'. Reason: can't replace non-existent object 'node_id'\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.053223s] ... ok {29} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.233827s] ... ok {29} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.269112s] ... ok {29} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.029387s] ... ok {29} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.012559s] ... ok {29} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.012232s] ... ok {29} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.012239s] ... ok GET: /v1/nodes?sort_key=uuid {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2a4da50e-e98f-4429-a2d7-a1ed854ff412', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2a4da50e-e98f-4429-a2d7-a1ed854ff412', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2a4da50e-e98f-4429-a2d7-a1ed854ff412'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6b60fa61-a7ea-48aa-a068-e1ac92c487d1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6b60fa61-a7ea-48aa-a068-e1ac92c487d1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6b60fa61-a7ea-48aa-a068-e1ac92c487d1'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/db56f63a-af2e-4971-abdf-81e524547c9d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/db56f63a-af2e-4971-abdf-81e524547c9d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'db56f63a-af2e-4971-abdf-81e524547c9d'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.123690s] ... ok {29} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.012131s] ... ok {29} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.062262s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.010944s] ... ok {29} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.010515s] ... ok {29} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.014410s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-510c6435-a926-4808-915d-c153be508440 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.629738+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.629738+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.100647s] ... ok {29} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.030528s] ... ok {29} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.035498s] ... ok {29} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.008270s] ... ok {29} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_to_instance [0.070286s] ... ok {29} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.052919s] ... ok {29} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleTestCase.test_cimc_handle [0.103347s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.068150s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.110801s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.045362s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch', 'hostname': 'host', 'switch_id': 'aa:bb:cc:dd:ee:ff'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-def44bc8-c4b7-44d5-b7d8-9867648bbcb8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys. Required keys are set(['port_id', 'switch_id']). Or in case of Smart NIC set(['hostname', 'port_id']). Submitted keys are set(['switch_info', 'hostname', 'switch_id']) .\"}"} {37} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.063763s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.112906s] ... ok GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-57d4ee79-8826-46cd-b9f5-4db056799dd2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {29} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.097615s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.047598s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.076956s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.076473s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_exc [0.093390s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.069980s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.799800+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {29} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.087524s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.043392s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.064058s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.059995s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.009543s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_unknown_exception [0.076451s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_invalid_component [0.078124s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok_post_supported [1.076130s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.049520s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.019384s] ... ok GET: /v1/portgroups/detail?sort_key=mode {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'9f5bb025-bfc8-4fa1-9948-a8df6d9a86f7', u'links': [{u'href': u'http://localhost/v1/portgroups/9f5bb025-bfc8-4fa1-9948-a8df6d9a86f7', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9f5bb025-bfc8-4fa1-9948-a8df6d9a86f7', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.849293+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'mode_1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/9f5bb025-bfc8-4fa1-9948-a8df6d9a86f7/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9f5bb025-bfc8-4fa1-9948-a8df6d9a86f7/ports', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'180359e9-aa59-45cd-86d3-68ed844d3796', u'links': [{u'href': u'http://localhost/v1/portgroups/180359e9-aa59-45cd-86d3-68ed844d3796', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/180359e9-aa59-45cd-86d3-68ed844d3796', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.846446+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'mode_2', u'address': u'52:54:00:cf:2d:32', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/180359e9-aa59-45cd-86d3-68ed844d3796/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/180359e9-aa59-45cd-86d3-68ed844d3796/ports', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'd2970b86-7dc0-455f-b504-830ad98ecc2f', u'links': [{u'href': u'http://localhost/v1/portgroups/d2970b86-7dc0-455f-b504-830ad98ecc2f', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d2970b86-7dc0-455f-b504-830ad98ecc2f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:34.843400+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'mode_3', u'address': u'52:54:00:cf:2d:33', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/d2970b86-7dc0-455f-b504-830ad98ecc2f/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d2970b86-7dc0-455f-b504-830ad98ecc2f/ports', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.020281s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.096717s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.018801s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8cbc252a-7e8a-48d4-b532-fece9ba5aa0e {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n[u'\"}"} {18} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.034615s] ... ok 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-9d0e7d05-bdc7-405d-aa9c-9729d5a1a7bf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\"}"} {25} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.051543s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.069960s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_apimultitype_tostring [0.011681s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.055572s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_valid_values [0.011204s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.013310s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.062481s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.010986s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_pin [0.012993s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.063472s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name [0.012396s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroup_mode_properties [0.013086s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.012263s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.059882s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_fail [0.013445s] ... ok {29} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.061396s] ... ok {29} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.077563s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs [0.013217s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.013422s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.053683s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.050283s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.147056s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields [0.012538s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.106308s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.011790s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_old_command [0.085856s] ... ok {29} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.018012s] ... ok {29} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.033397s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.094895s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.017662s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id_extra [0.083885s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_config [0.021302s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.008597s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.063623s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.022438s] ... ok {29} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.016056s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.031205s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.035568s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.034473s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.084246s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.079869s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.098908s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot [0.112941s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.052016s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.137658s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.027363s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.051252s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.010775s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.010402s] ... ok {29} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_default_interfaces [0.052633s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-da7b9cad-9e25-4e69-b709-e3695ef2c519 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {29} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.047015s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.058001s] ... ok {29} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.047824s] ... ok {29} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.020211s] ... ok DELETE: /v1/v1 GOT:Response: 405 Method Not Allowed Allow: GET Content-Type: application/json {"error_message": "{\"code\": 405, \"description\": \"\", \"title\": \"Method Not Allowed\"}"} {29} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.021619s] ... ok {18} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.024853s] ... ok {18} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.025980s] ... ok {29} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.021904s] ... ok {29} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.018435s] ... ok {18} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.128900s] ... ok {18} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.073629s] ... ok {29} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.018558s] ... ok {18} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.016431s] ... ok {18} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.013393s] ... ok {29} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.013417s] ... ok {18} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.012674s] ... ok {29} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.016486s] ... ok {18} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.012556s] ... ok {29} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.018842s] ... ok {18} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.013308s] ... ok {29} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.006924s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.007360s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.006893s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'7c16214b-99ec-436a-b776-c87824572bcd', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/7c16214b-99ec-436a-b776-c87824572bcd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7c16214b-99ec-436a-b776-c87824572bcd', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {18} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.028967s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.074763s] ... ok {29} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.072190s] ... ok {18} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_found [0.036742s] ... ok {29} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.029216s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.021915s] ... ok {18} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.083510s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.009332s] ... ok {29} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.014583s] ... ok {18} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.014975s] ... ok {29} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.011017s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups [0.010092s] ... ok {18} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.085547s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_ramdisk_endpoints [0.011004s] ... ok {29} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.013156s] ... ok {18} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.067678s] ... ok {18} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.065220s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs [0.010977s] ... ok {18} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.021254s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.009803s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_trait [0.012856s] ... ok {18} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.090664s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.010714s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.011687s] ... ok {18} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.091409s] ... ok {17} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.016110s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8aa45e1-0517-4aa1-8da0-9a127eaca59d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {18} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.013689s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.028553s] ... ok {18} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.293203s] ... ok {18} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.049860s] ... ok {18} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.256609s] ... ok {18} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active [0.081849s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.136108s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception_old [0.333308s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.293857s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.021353s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.193111s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.159803s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.061662s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.069702s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.014348s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.027171s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13624468-8c24-4ef8-8430-3b3cd1424b0c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.057988s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.012684s] ... ok {18} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.020328s] ... ok {18} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.023727s] ... ok {18} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.009865s] ... ok {18} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.013995s] ... ok {18} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.013326s] ... ok {18} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.082570s] ... ok {18} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.123241s] ... ok {18} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.082237s] ... ok {18} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.029833s] ... ok {18} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.030354s] ... ok {18} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.044561s] ... ok {18} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.159172s] ... ok {18} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.097182s] ... ok {18} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.031197s] ... ok {18} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.052716s] ... ok {18} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.039240s] ... ok {18} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.028536s] ... ok {18} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.094194s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.078776s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.027862s] ... ok {18} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_address [0.064600s] ... ok {18} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_fail [0.087536s] ... ok {18} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_validate [0.085320s] ... ok {18} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_imc_exception [0.083559s] ... ok 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-5b072dd0-013b-4b58-a79d-7b1d2571cdc6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.053244s] ... ok {18} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.078637s] ... ok {18} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [2.871308s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.087624s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.082578s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.017757s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [0.069374s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.077918s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.059775s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.065252s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.109658s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.154946s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.065038s] ... ok {18} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_expire_old_sessions [0.052247s] ... ok {18} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.092519s] ... ok {18} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.008368s] ... ok 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-5f2397fa-e865-4f19-ad64-dfd9d3299da3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.115855+00:00", "updated_at": "2020-11-20T07:00:35.165875+00:00", "address": "aa:bb:cc:dd:ee:ff"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.096049s] ... ok 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-07a1b574-973b-4a12-9eff-777570c680b5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {28} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.046885s] ... ok {18} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.023262s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.072753s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.017439s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.016964s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.020059s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.026767s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.059315s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.068317s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.054446s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.061713s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.502279s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.056953s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.058297s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': []} {28} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.048643s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.022952s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.054983s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.074947s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.121030s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.048522s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.060386s] ... ok 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-c68c6612-24f6-4d63-9aaf-a4d2358a95af X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot update portgroup \\\"6eb02b44-18a3-4659-8c0b-8d2802581ae4\\\" on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\"}"} {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.092479s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.047484s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.012108s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.054449s] ... ok 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-03bfbf90-3e8c-4ad3-81dc-41e2e9fb5d97 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:34.886656+00:00", "updated_at": "2020-11-20T07:00:34.892927+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1fe5eb37-5f8d-4f59-9d13-1ffb2c6ab6a4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.886656+00:00", "updated_at": "2020-11-20T07:00:34.892927+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.021851s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.134000s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.021694s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.008667s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.018948s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.009728s] ... ok {18} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.042128s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.049561s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.013369s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.012960s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.009012s] ... ok 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-b6e20481-ee03-411c-a70c-427aac7cfb3c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.061383s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.010011s] ... ok {18} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.008440s] ... ok {18} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.010118s] ... ok {9} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.013659s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c84e91d3-d4a2-4206-b5ca-680a22b2a858 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {37} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.064870s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c5c8890-31e5-4c9a-a2e2-8559da927bb8 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\"}"} {17} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.038797s] ... ok {17} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.019063s] ... ok {17} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.080839s] ... ok 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-51c5338f-a333-4774-aa42-eeed8848d49c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:35.137318+00:00", "updated_at": "2020-11-20T07:00:35.144213+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5197ba0f-cadd-43d0-a2db-48b23bf6d881 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.137318+00:00", "updated_at": "2020-11-20T07:00:35.144213+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {17} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.020145s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.110584s] ... ok {17} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__deprecated_opts [0.019105s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.011443s] ... ok {9} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.039903s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.048718s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.033250s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.016435s] ... ok {17} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.021555s] ... ok {17} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.013924s] ... ok {17} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version [0.023899s] ... ok {17} ironic.tests.unit.common.test_json_rpc.TestService.test_non_json_body [0.036934s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.023092s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_out_range_auth_strategy [0.020422s] ... ok {9} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.013456s] ... ok {17} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.019066s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.033497s] ... ok {17} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.066063s] ... ok {17} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.021187s] ... ok {17} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.109806s] ... ok {17} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_do_next_deploy_step_oob_reboot [0.233581s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.284410s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.254456s] ... ok {9} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.010113s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.344440s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.277089s] ... ok {17} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.380358s] ... ok {17} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state_old [0.340999s] ... ok {17} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.215083s] ... ok {17} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.076902s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.077548s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.087591s] ... ok {9} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.010655s] ... ok {17} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.125088s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.024932s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.020488s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.020275s] ... ok {17} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_driver_steps [0.085836s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.034058s] ... ok {17} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.049270s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.035588s] ... ok {9} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.010272s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2b1953e0-67a2-4f83-89da-540580aca6ff X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'value': u'1', 'op': 'replace'}'. Reason: can't replace non-existent object 'node_id'\"}"} {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.050590s] ... ok {17} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.029379s] ... ok {17} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.029247s] ... ok 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-666562db-a2c7-483c-9a00-ce18b57a1092 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.845198+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.081787s] ... ok {17} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.055709s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.019685s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs_fail [0.010927s] ... ok {17} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.031768s] ... ok {9} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.009486s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class_fail [0.016416s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_force_reboot [0.098253s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.010022s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_with_smartnic_port [0.088692s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.061555s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.087918s] ... ok {17} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change [0.085271s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.087405s] ... ok {9} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.009064s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.062483s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.020477s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.031838s] ... ok {17} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.044319s] ... ok 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, \"description\": \"\", \"title\": \"Not Found\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.027891s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.057106s] ... ok 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-919337a6-254d-4bdd-ab88-476bca3342eb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {9} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.009493s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.117367s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.058713s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.026051s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.044824s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.005749s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.027567s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error [0.112521s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.087227s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.099957s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.062219s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.109627s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.022609s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.070283s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.009282s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [2.095082s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.048745s] ... ok GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{u'ports': []} {24} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.048593s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.061396s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.006203s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.059980s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.072819s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.052609s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step2 [0.077823s] ... ok {9} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.008399s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.042913s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.037910s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.035710s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.043136s] ... ok {17} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.057226s] ... ok {9} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.008987s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.063325s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.057405s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy [0.129092s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_glance [0.026151s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_unknown [0.059438s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off [0.067196s] ... ok {9} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.010449s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.009703s] ... ok {17} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.011211s] ... ok {17} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.024327s] ... ok {17} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.011976s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.011840s] ... ok {17} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.011849s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.009078s] ... ok {9} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.010622s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.008883s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.018875s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.121643s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.041590s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.052503s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.033552s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.093850s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.018903s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.011708s] ... ok {9} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.010561s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.010725s] ... ok {17} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.007267s] ... ok {17} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.015333s] ... ok {17} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.011288s] ... ok {17} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.011862s] ... ok {9} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.011433s] ... ok {17} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.007264s] ... ok {17} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.388027s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.007405s] ... ok {17} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.010170s] ... ok {17} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.013187s] ... ok GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-73441904-0631-41eb-bb3e-94d0e407e706 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.027727s] ... ok PATCH: /v1/volume/connectors/d368ece1-14e0-42a0-b3d9-a04af5deced4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2983cecc-3f28-45e0-b924-315ec119a829 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume connector d368ece1-14e0-42a0-b3d9-a04af5deced4 could not be found.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.053722s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-46e33d99-fb63-4bd9-8247-938aea418c93 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.076570s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {4} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.037596s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.012786s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.013860s] ... ok {4} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.012315s] ... ok {4} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.014876s] ... ok {4} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.019169s] ... ok {4} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.024815s] ... ok {4} ironic.tests.unit.common.test_json_rpc.TestService.test_malformed_context [0.038907s] ... ok {4} ironic.tests.unit.common.test_json_rpc.TestService.test_unexpected_failure [0.043277s] ... ok GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{u'connectors': [{u'uuid': u'3c1c7f70-82fa-4a6c-ac72-6981081ec762', u'links': [{u'href': u'http://localhost/v1/volume/connectors/3c1c7f70-82fa-4a6c-ac72-6981081ec762', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/3c1c7f70-82fa-4a6c-ac72-6981081ec762', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'90b36237-3a50-41cc-b0e2-3745c4a9ac8b', u'links': [{u'href': u'http://localhost/v1/volume/connectors/90b36237-3a50-41cc-b0e2-3745c4a9ac8b', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/90b36237-3a50-41cc-b0e2-3745c4a9ac8b', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'fbbe59e7-1639-4b8e-8de2-ac4c9db0539a', u'links': [{u'href': u'http://localhost/v1/volume/connectors/fbbe59e7-1639-4b8e-8de2-ac4c9db0539a', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/fbbe59e7-1639-4b8e-8de2-ac4c9db0539a', u'rel': u'bookmark'}], u'extra': {}}]} {4} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.093065s] ... ok {4} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.018701s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.089979s] ... ok {4} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.060525s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_rescue [0.105962s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.026619s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.080832s] ... ok {4} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.012936s] ... ok {4} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.090658s] ... ok {4} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.012118s] ... ok {4} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.053920s] ... ok {4} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.023564s] ... ok {4} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.085467s] ... ok {4} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.053321s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.154041s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0daae015-964f-483b-b97e-2033ce992e2c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2020-11-20T07:00:34.943149+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2020-11-20T07:00:34.943149+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {4} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.302399s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.091773s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.305708s] ... ok {4} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.021892s] ... ok {4} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.028911s] ... ok GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {4} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.275361s] ... ok {25} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.023940s] ... ok {4} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.200788s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7dc17fb8-e31f-49fc-8ee5-4db1f5d389f3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.044226s] ... ok {4} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.386886s] ... ok {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.016163s] ... ok {4} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.139577s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.067836s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.027292s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.031683s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.020418s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.025593s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.025182s] ... ok {2} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.029095s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.020051s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.220085s] ... ok {4} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.015105s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.220165s] ... ok {4} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.012877s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.065729s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.248275s] ... ok {4} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.086369s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.313149s] ... ok {4} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.435715s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.370621s] ... ok {4} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.029822s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.037526s] ... ok {4} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.031294s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.108842s] ... ok {4} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.043645s] ... ok {4} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.046683s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.192549s] ... ok {4} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.031668s] ... ok {4} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.028394s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.146277s] ... ok {4} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.014003s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.081300s] ... ok {4} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.028606s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.019170s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.075211s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.084245s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.028339s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.088128s] ... ok {4} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.095224s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.090670s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.087665s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.083350s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_InvalidParam [0.085623s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.030138s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.085293s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.045504s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.032379s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.105817s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.029703s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.034968s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.079219s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.012531s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.036908s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.054922s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.082553s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.112959s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.082874s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login [0.086050s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration [0.113282s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_validate [0.082140s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.035252s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_ok [0.086739s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.107169s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.163626s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.025796s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f322e28b-f1e4-4126-abcc-4636c10ac6a6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.039087s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.155366s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.079290s] ... ok 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-ba037748-a585-4bf7-84cf-0610b767d29e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.134327+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.177111s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.030005s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.100288s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.053760s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_invalid_job_queue [0.032628s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.045446s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.113142s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.016018s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_reboot_fail [0.095051s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.041309s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_uefi_no_glance_image [0.092551s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.170527s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.087957s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.044997s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.014844s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.050021s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.131654s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.054206s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.109191s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.047388s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.051782s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.027143s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.078303s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.048077s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.015505s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.082265s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.102698s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.064844s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.058668s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_image [0.099245s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.065992s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.060379s] ... ok 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-c476fbc1-0d6f-40d5-b8f3-a39473bef945 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.021969+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": false, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.101829s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.085158s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_deprecated [0.061697s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.098527s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_reboot_to_instance [0.080632s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.115484s] ... ok {4} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.010814s] ... ok 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-812e841c-a065-49e1-9dc4-ac6941b441fd X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.397251+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.143300s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.089315s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.009966s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.062082s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.006905s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.025336s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.014307s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.232047s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.087716s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.009833s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_step1 [0.120235s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.019528s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.036377s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.079853s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.030413s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.092397s] ... ok {4} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.014410s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.065577s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.094561s] ... ok {4} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.007589s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.061440s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.011976s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.051071s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.014449s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.048291s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.010046s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_empty_response [0.048912s] ... ok {4} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_supported_boot_devices [0.047962s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_in_core_deploy_step_in_other_step [0.054217s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.010223s] ... ok {4} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.015503s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.047429s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.008084s] ... ok {4} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.008744s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.012615s] ... ok {4} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.012921s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.011907s] ... ok {4} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.014991s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.046189s] ... ok {4} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.028936s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.045868s] ... ok {4} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.011421s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.019803s] ... ok {4} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.013971s] ... ok {4} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.008028s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.017373s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.018806s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.020034s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dc7bb06f-64f2-47e4-90fe-8d706d2b9df6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:34.655958+00:00", "updated_at": "2020-11-20T07:00:34.704617+00:00", "address": "52:54:00:cf:2d:31"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.096143s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.093273s] ... ok {4} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.008797s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_port.TestPortObject.test_port_init [0.012577s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.116331s] ... ok {4} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.009008s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.093703s] ... ok {4} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.015301s] ... ok {4} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.012942s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.079937s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.100622s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.012715s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [1.025972s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_service_profile [0.037327s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot [0.108533s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.048428s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/28d72723-df8f-4234-a74e-411c49188e71 Openstack-Request-Id: req-25d21264-ef3e-4aac-83bc-a4848ee599fa X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "28d72723-df8f-4234-a74e-411c49188e71", "links": [{"href": "http://localhost/v1/portgroups/28d72723-df8f-4234-a74e-411c49188e71", "rel": "self"}, {"href": "http://localhost/portgroups/28d72723-df8f-4234-a74e-411c49188e71", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.254592+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/28d72723-df8f-4234-a74e-411c49188e71/ports", "rel": "self"}, {"href": "http://localhost/portgroups/28d72723-df8f-4234-a74e-411c49188e71/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/28d72723-df8f-4234-a74e-411c49188e71 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'28d72723-df8f-4234-a74e-411c49188e71', u'links': [{u'href': u'http://localhost/v1/portgroups/28d72723-df8f-4234-a74e-411c49188e71', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/28d72723-df8f-4234-a74e-411c49188e71', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:35.254592+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/28d72723-df8f-4234-a74e-411c49188e71/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/28d72723-df8f-4234-a74e-411c49188e71/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.097908s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.007025s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_no_pin [0.013241s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.043946s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields_fail [0.014027s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.011861s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.012059s] ... ok {2} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.048708s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.013486s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.011941s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.009990s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.013161s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.010841s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.007341s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.016911s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.006629s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.006092s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.006047s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.007439s] ... ok {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.078235s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.010070s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.010041s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.010699s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.012089s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {37} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.038393s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_deploy_templates [0.012528s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_internal_info [0.013167s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.011389s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.011346s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-373202d3-3c03-4d59-90d6-3f5a4af38118 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.043605s] ... ok 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-31e28ec5-b371-4710-9a48-5a0e3a4fb242 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.012102+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.088605s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {37} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.039931s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f48639d4-3f53-4ae9-94a6-a23dead5673e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:35.233680+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {28} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.090385s] ... ok GET: /v1/portgroups/?limit=3 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'c074a227-18a0-40f1-8648-50c3497dd406', u'links': [{u'href': u'http://localhost/v1/portgroups/c074a227-18a0-40f1-8648-50c3497dd406', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c074a227-18a0-40f1-8648-50c3497dd406', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'3bc15831-0c08-4bcc-b73b-bccf91a513e6', u'links': [{u'href': u'http://localhost/v1/portgroups/3bc15831-0c08-4bcc-b73b-bccf91a513e6', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/3bc15831-0c08-4bcc-b73b-bccf91a513e6', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'006a5819-ed41-4dc1-8603-d8df2b97912e', u'links': [{u'href': u'http://localhost/v1/portgroups/006a5819-ed41-4dc1-8603-d8df2b97912e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/006a5819-ed41-4dc1-8603-d8df2b97912e', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_dir=asc&sort_key=id&fields=uuid,address,name&limit=3&marker=006a5819-ed41-4dc1-8603-d8df2b97912e'} {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.096752s] ... ok 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-0c3dc292-f09c-4f32-9e64-132feda7244d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.079184s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-19dae2a8-69ff-41bf-ac95-e8d3e2cb2950 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.206265s] ... ok GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.56', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}]} {25} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.035111s] ... ok {25} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.093563s] ... ok {25} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.017190s] ... ok {25} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.014210s] ... ok {25} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.012650s] ... ok {25} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.011153s] ... ok {25} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.015510s] ... ok {25} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.013509s] ... ok {25} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href [0.014642s] ... ok {25} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_auth_strategy [0.011425s] ... ok {25} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.029002s] ... ok {25} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi_with_esp_image [0.025224s] ... ok {25} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.014377s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f210aa9-57df-4f03-824e-3279573b2728 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute volume_type. Value: 'None'. Mandatory field missing.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.043787s] ... ok {25} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.084103s] ... ok {25} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.023841s] ... ok {25} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.014868s] ... ok {25} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.016137s] ... ok {25} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.011410s] ... ok {25} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.011391s] ... ok {25} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.192177s] ... ok {25} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.294628s] ... ok {25} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.249487s] ... ok {25} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.270649s] ... ok {25} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.364664s] ... ok {25} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.048856s] ... ok {25} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.020993s] ... ok {25} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.062871s] ... ok {25} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.182897s] ... ok GET: /v1/volume/targets?detail=True {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:35.618537+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {25} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.097742s] ... ok {37} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.063991s] ... ok {25} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.087292s] ... ok {25} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.036645s] ... ok {25} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.055954s] ... ok {25} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.088414s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.029405s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.023922s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.019705s] ... ok {25} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_user_steps [0.081083s] ... ok {25} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.104738s] ... ok {25} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.013703s] ... ok {25} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.078279s] ... ok {25} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.092585s] ... ok {25} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.029063s] ... ok {25} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.028382s] ... ok {25} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.050191s] ... ok {25} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.028313s] ... ok {25} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.629550s] ... ok {25} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.025966s] ... ok {25} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.065243s] ... ok {25} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.030234s] ... ok {25} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.028928s] ... ok {25} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.024553s] ... ok {25} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.015452s] ... ok {25} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login_exception [0.056005s] ... ok {25} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_username [0.017576s] ... ok {25} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state [0.075298s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-02aa509e-110d-4771-bdb3-bc73535e8eb8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.131902+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {25} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.084470s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.073988s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.025862s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_bad_id [0.011825s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.084495s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.012155s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed [0.086755s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive [0.035525s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.079828s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.012113s] ... ok 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-54738c3e-b8d9-4e6a-9fe7-c60f21a5d32a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.099661+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "type": "iqn"} {13} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.011976s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.063331s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.089731s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.027586s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.011739s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.083000s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.050685s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.073715s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.103931s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.093652s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.144580s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.080334s] ... ok {25} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_session [0.065267s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_uefi [0.081422s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue [0.096158s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.013601s] ... ok {25} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.014308s] ... ok {25} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.010214s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'address': '52:54:00:cf:2d:31', 'properties': {'bond_prop': 123}, 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-78a72ea4-c87b-4770-aa22-c96dc3617b7d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.248769+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {"bond_prop": 123}, "name": "fooname"} {25} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.021006s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.074662s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail [0.012944s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_get_clean_steps [0.058774s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.017056s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.017650s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.012964s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.011472s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.024802s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.015434s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.067214s] ... ok {25} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.012176s] ... ok {25} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.049819s] ... ok {25} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.014615s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.071376s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.034199s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.075953s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.065869s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.103420s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.050856s] ... ok {25} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.011371s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.012208s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.056810s] ... ok {25} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot__wait_state_change_fail [0.123094s] ... ok {25} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_fail [0.110080s] ... ok {25} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.057893s] ... ok {25} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.017263s] ... ok {25} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.012826s] ... ok {25} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.013497s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a1e1477f-81a2-4dbf-848c-08a739e3f2ae X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake-hardware", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2020-11-20T07:00:34.737094+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake-hardware', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2020-11-20T07:00:34.737094+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_instance_info [0.107875s] ... ok {25} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.007218s] ... ok {25} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.010399s] ... ok {25} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.017306s] ... ok {25} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.013792s] ... ok {25} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.012923s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a4b0b07e-c205-4fd8-b88f-aa2e95fc5b2c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.061311s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.027211s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e443c06d-5152-4c64-8856-ea81a05daef4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.053865s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-db36f2e8-304f-41bf-84d8-5c44ef1d709d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.047160s] ... ok 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-c7290c8f-d664-46ed-be56-dd7166b2a17a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.035431s] ... ok GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad5b093a-e771-4447-825f-7acb1dd6430f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/connectors?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d0c48f9e-6b97-489c-a870-8d256f97045e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {13} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.051300s] ... ok GET: /v1/volume/connectors?fields=connector_id&limit=2 {} GOT:{u'connectors': [{u'links': [{u'href': u'http://localhost/v1/volume/connectors/5810656d-bbd8-4927-8713-6a1797c01392', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5810656d-bbd8-4927-8713-6a1797c01392', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'links': [{u'href': u'http://localhost/v1/volume/connectors/66470b57-64c7-4c28-bae8-1d1d5c13de51', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/66470b57-64c7-4c28-bae8-1d1d5c13de51', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=66470b57-64c7-4c28-bae8-1d1d5c13de51'} {12} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.083167s] ... ok GET: /v1/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {12} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.037291s] ... ok GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'portgroups': [{u'href': u'http://localhost/v1/portgroups/', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/', u'rel': u'bookmark'}], u'id': u'v1', u'version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.56', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}]} {37} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.036872s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-28fe5d8a-7142-4cc9-b092-f352dcec251d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.054793s] ... ok func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. {37} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.021416s] ... ok {37} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.097140s] ... ok {37} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.026479s] ... ok {37} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.076429s] ... ok {37} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.020128s] ... ok {37} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.021334s] ... ok {37} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.015716s] ... ok 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-c5211c9e-4992-49a6-873c-91c9ccec87c7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:35.325111+00:00", "updated_at": "2020-11-20T07:00:35.330765+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f33c012e-2ef9-4c2d-923e-4248f3f23814 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.325111+00:00", "updated_at": "2020-11-20T07:00:35.330765+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {28} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.135635s] ... ok {37} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success [0.019845s] ... ok {37} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.098842s] ... ok {37} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.099174s] ... ok {37} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.044336s] ... ok {37} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.023962s] ... ok {37} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.088712s] ... ok {37} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.088202s] ... ok {37} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.015194s] ... ok {37} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.159936s] ... ok {37} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.017613s] ... ok {37} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.077191s] ... ok {37} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.292603s] ... ok {37} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.036926s] ... ok {37} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.275363s] ... ok {37} ironic.tests.unit.conductor.test_manager.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.101926s] ... ok {37} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.312869s] ... ok {37} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.307876s] ... ok {37} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.021642s] ... ok {37} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.022138s] ... ok {37} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.266343s] ... ok {37} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.202244s] ... ok {37} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.160806s] ... ok {37} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.083730s] ... ok GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f1d80e61-53eb-4a1e-8c24-bfac8b062d59 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0413cfb5-185f-47ec-9f67-a32afeac12af X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b54b9dad-624e-4504-a282-e15c1b219058 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbcaf9ba-f542-473c-8703-3f6670a2b6da X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {37} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.019478s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.062779s] ... ok {37} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.019742s] ... ok 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-aa9bb7b6-62b2-42c4-a47c-eef986f34a36 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.034779+00:00", "updated_at": "2020-11-20T07:00:35.090855+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {37} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.024743s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id_not_internal [0.102577s] ... ok {37} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.019845s] ... ok {37} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.019590s] ... ok {37} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.041546s] ... ok {37} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.015050s] ... ok {37} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.127723s] ... ok {37} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.061140s] ... ok {37} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.035181s] ... ok {37} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.034314s] ... ok {37} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.094397s] ... ok {37} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.088582s] ... ok {37} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.029138s] ... ok {37} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.028809s] ... ok {37} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.064504s] ... ok {37} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.091287s] ... ok {37} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.031883s] ... ok {37} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.031155s] ... ok {37} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_timeout [0.094642s] ... ok {37} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.109421s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.017461s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.078669s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.066311s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.138485s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.097060s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.081325s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.039638s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.051284s] ... ok {37} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [1.135490s] ... ok {37} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.018452s] ... ok {37} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.083140s] ... ok {37} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.062114s] ... ok {37} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.050127s] ... ok {37} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.045142s] ... ok {37} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.050198s] ... ok {37} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.061478s] ... ok {37} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.071689s] ... ok {37} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.076221s] ... ok {37} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.052917s] ... ok {37} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.074606s] ... ok {37} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_in_core_deploy_step_no_steps_list [0.051781s] ... ok {37} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_steps [0.053677s] ... ok {37} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.818877s] ... ok {37} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.087447s] ... ok {37} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.017901s] ... ok {37} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.031358s] ... ok {37} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.026674s] ... ok {37} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.010650s] ... ok {37} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.007411s] ... ok {37} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.009275s] ... ok {37} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.009419s] ... ok {37} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.008861s] ... ok {37} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.056373s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/8aa13a3e-b593-4f8b-90d2-a97c7eb15b78 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0709e9b-0dba-49d1-85b9-c588f593ae41 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.064590s] ... ok {37} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.048974s] ... ok {37} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.050667s] ... ok {37} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.016483s] ... ok {37} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.073030s] ... ok {37} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.094603s] ... ok {37} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [9.025813s] ... ok {37} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.009516s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e8fef003-efd0-43f7-a810-a2ac703f8c7e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2020-11-20T07:00:35.515874+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2020-11-20T07:00:35.515874+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.093196s] ... ok {37} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.008631s] ... ok {7} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.023017s] ... ok {37} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.006111s] ... ok {37} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.013221s] ... ok {37} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.010756s] ... ok {37} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.010343s] ... ok {37} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.006155s] ... ok {37} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.012788s] ... ok {37} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.005836s] ... ok {37} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.005862s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b902e5e-9a90-49b2-bcf6-1998daa21dd2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_id. Value: 'None'. Mandatory field missing.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.044321s] ... ok {37} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.006813s] ... ok {37} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.006629s] ... ok {37} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.006009s] ... ok {37} ironic.tests.unit.objects.test_port.TestMigrateVifPortId.test_migrate_vif_port_id_all [0.027665s] ... ok {37} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.010837s] ... ok func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. {7} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.020768s] ... ok func1() migrated 10 of 15 objects. {7} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.020359s] ... ok {7} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.020678s] ... ok {7} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.012309s] ... ok {7} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.016422s] ... ok {7} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error [0.014516s] ... ok {7} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_foreign_class [0.025974s] ... ok {7} ironic.tests.unit.common.test_json_rpc.TestService.test_success_no_result [0.036292s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8c69bed5-0b56-4d44-910a-80497cab05ab X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.243484+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {7} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.030144s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.059570s] ... ok {7} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.031792s] ... ok {7} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.014548s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.097810s] ... ok {7} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.021942s] ... ok {7} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.066477s] ... ok {7} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.195618s] ... ok foo() migrated 15 of 15 objects. {7} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.288039s] ... ok {19} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.015870s] ... ok {7} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.081046s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.120858s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test_do_node_deploy_deprecated [0.262275s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.027654s] ... ok {7} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.316634s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.083616s] ... ok {7} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.131504s] ... ok {7} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.018904s] ... ok {7} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.020241s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.016361s] ... ok {7} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.114321s] ... ok Data migrations have not completed. Please re-run. {7} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.121348s] ... ok {19} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.387063s] ... ok {7} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.028672s] ... ok {19} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.031159s] ... ok {7} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.054670s] ... ok {19} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.028186s] ... ok {7} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.044983s] ... ok {19} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.018437s] ... ok {19} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success [0.019980s] ... ok {7} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.041896s] ... ok POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7efd8b21-4561-45a0-809d-1df68af1398c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute boot_index. Value: 'None'. Mandatory field missing.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.046330s] ... ok {19} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure_oslo [0.038439s] ... ok {7} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.023815s] ... ok {28} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.025608s] ... ok {19} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.092142s] ... ok {7} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.022239s] ... ok {28} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.020918s] ... ok {19} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.078141s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.018865s] ... ok {28} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.020998s] ... ok {28} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.024920s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.017685s] ... ok {19} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.091921s] ... ok {28} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.146227s] ... ok {28} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.030860s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.076008s] ... ok {19} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.091718s] ... ok {28} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.012586s] ... ok {7} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.034733s] ... ok {19} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.092355s] ... ok {28} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.012764s] ... ok {19} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.012995s] ... ok {7} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.032401s] ... ok {28} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.017363s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'aa:bb_cc'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7fd3eaed-aea1-4f95-a10b-96966da7f222 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\"}"} {19} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.115715s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.318811s] ... ok {7} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.033246s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version_deprecated [0.353943s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.028225s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type [0.012845s] ... ok {7} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.035989s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_no_skip [0.083719s] ... ok {19} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.012691s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestVolumeConnectorObject.test_volume_connector_init [0.012220s] ... ok {7} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.029083s] ... ok {19} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.012409s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict_with_meta_data [0.341102s] ... ok {7} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device_fail [0.096440s] ... ok {19} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.087863s] ... ok {7} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_invalid_state [0.081196s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.347410s] ... ok {19} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.012606s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.027835s] ... ok GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d2db8577-92a8-43bd-aeb2-87bbaad8e3b4 {"default_version": {"status": "CURRENT", "min_version": "1.1", "version": "1.56", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "versions": [{"status": "CURRENT", "min_version": "1.1", "version": "1.56", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}], "name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines."} GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22f98aa8-8bb0-41f6-b074-be4d6a4199a4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "version": {"status": "CURRENT", "min_version": "1.1", "version": "1.56", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} {19} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.059326s] ... ok {26} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.059698s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.028985s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.197850s] ... ok {19} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.057425s] ... ok {26} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.024445s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.127565s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.029217s] ... ok {19} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.022053s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed [0.104175s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.021528s] ... ok {19} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.272549s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.118113s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.023512s] ... ok {19} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.061351s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.162887s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.155870s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_deploy_steps [0.084909s] ... ok {28} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.082905s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.059866s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.249891s] ... ok {28} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.198710s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.102236s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.635000s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version [0.311981s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.026959s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.093583s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_network_data [0.349067s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.038761s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.084375s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok [0.379994s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.012608s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.013631s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.127216s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.098220s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.020070s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.098440s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.317098s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.064217s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.019591s] ... ok {19} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.064594s] ... ok {19} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.189388s] ... ok {28} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.035498s] ... ok {28} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.106167s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.074631s] ... ok {19} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.101753s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_iscsi [0.156617s] ... ok {28} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.084490s] ... ok {19} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.090464s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.026524s] ... ok {28} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.061276s] ... ok {19} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.131691s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {7} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.264346s] ... ok {28} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.019204s] ... ok {26} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.020855s] ... ok {28} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.037332s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.073979s] ... ok {26} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.029175s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.031555s] ... ok {28} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.016445s] ... ok {26} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.018953s] ... ok {19} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.032986s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.089298s] ... ok {26} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.017252s] ... ok {19} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.135927s] ... ok {28} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.022329s] ... ok {19} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.042608s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.087312s] ... ok {26} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.011984s] ... ok {28} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.035524s] ... ok {19} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.143307s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.085406s] ... ok {26} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.034614s] ... ok {28} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.066015s] ... ok {19} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.021636s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.180958s] ... ok {28} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.043424s] ... ok {26} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.015091s] ... ok {19} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.020994s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.079286s] ... ok {26} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success_with_version [0.021837s] ... ok {28} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.105894s] ... ok PATCH: /v1/volume/targets/520863a7-dd1d-4e34-ab6f-056b278e730a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2d46fbb8-6650-4f1b-86ba-7c5010b3f9b4 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume target 520863a7-dd1d-4e34-ab6f-056b278e730a could not be found.\"}"} {19} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.027622s] ... ok {26} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.015047s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.072625s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.055637s] ... ok {28} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on [0.087163s] ... ok {19} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.022155s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_basic [0.080286s] ... ok {26} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.020351s] ... ok {12} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.115842s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.026979s] ... ok {19} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.064010s] ... ok {28} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_ok [0.090479s] ... ok {26} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.013987s] ... ok {12} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.026134s] ... ok {19} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device [0.068143s] ... ok {28} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.083423s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.026267s] ... ok {26} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.014778s] ... ok {12} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.012092s] ... ok {7} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.068475s] ... ok {26} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.134131s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.088174s] ... ok {28} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.035040s] ... ok {12} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.027724s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done [0.066741s] ... ok {26} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.090070s] ... ok {28} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.071674s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.070035s] ... ok {12} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.077452s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning [0.085346s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.878638s] ... ok {28} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.026148s] ... ok {12} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.013366s] ... ok {26} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.021522s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.053133s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_recreate_boot_iso_use_webserver [0.119752s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_on_webserver [0.030087s] ... ok {12} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.013576s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.013906s] ... ok {26} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.016419s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.020962s] ... ok {12} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.013533s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.044507s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.019229s] ... ok {12} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.030710s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.067965s] ... ok {26} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.014806s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.081906s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.008012s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.026714s] ... ok {12} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.066108s] ... ok {26} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.008622s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.073127s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.072741s] ... ok POST: /v1/nodes {'instance_uuid': None, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-49525dbb-2493-4c2f-ad83-5dc556ffb809 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with description exceeding 4096 characters\"}"} {12} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.134160s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [1.132539s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.056713s] ... ok {26} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.048371s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.019740s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.008012s] ... ok {26} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.017628s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_fail [0.018517s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.058217s] ... ok {12} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.012420s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.008614s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.054980s] ... ok {26} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.052500s] ... ok {12} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.410141s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_no_firmware_url [0.053452s] ... ok {26} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.069469s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.053790s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.011217s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.067854s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.045502s] ... ok {12} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.205221s] ... ok {26} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.305065s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.100855s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.016341s] ... ok {12} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.090160s] ... ok {26} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.053243s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.138308s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.159848s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.276954s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.072070s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.118481s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.299062s] ... ok {7} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.017560s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.078222s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.268863s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.070099s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive_old [0.305003s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.076610s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.012577s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.077552s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.065229s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.194669s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.042930s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.011720s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.028335s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.021241s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.212630s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.045814s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.046513s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.132236s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.019765s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.025036s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerTestHardwareTypeProperties.test_hardware_type_properties_manual_management [0.168439s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.110002s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.256949s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.152040s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b83c8b66-c71c-4d1e-b044-5d2143ad53ea X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:34.980037+00:00", "updated_at": "2020-11-20T07:00:35.029272+00:00", "address": "aa:bb:cc:dd:ee:ff"} {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.021929s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.095719s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.245588s] ... ok {12} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.066922s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.234234s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.160504s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.051198s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.058446s] ... ok {12} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.127073s] ... ok {26} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.284385s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.209404s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.275800s] ... ok {7} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [1.440800s] ... ok {12} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting_old [0.344503s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.086159s] ... ok {26} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.017705s] ... ok {7} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.100779s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.054299s] ... ok {28} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.075040s] ... ok {26} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.228093s] ... ok {12} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.083651s] ... ok {7} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.017193s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.083999s] ... ok {26} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.020190s] ... ok {28} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot [5.018186s] ... ok {12} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.060271s] ... ok {7} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.007273s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.105247s] ... ok {7} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.010425s] ... ok {26} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.022660s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.074031s] ... ok {12} ironic.tests.unit.conductor.test_steps.ValidateDeployTemplatesTestCase.test_error [0.056970s] ... ok {28} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_disabled_sessions_cache [0.047241s] ... ok {7} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.054830s] ... ok {26} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.083024s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.010701s] ... ok {28} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.081540s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.118484s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.011457s] ... ok {7} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.016322s] ... ok {26} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.013836s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_still_running [0.054085s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.051125s] ... ok {26} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.015918s] ... ok {7} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.015855s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.025070s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.008186s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.054468s] ... ok {26} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.015365s] ... ok {7} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.024078s] ... ok {12} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.126290s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.010048s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.043703s] ... ok {26} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.086695s] ... ok {12} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.012566s] ... ok {7} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.013133s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.007604s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.043105s] ... ok {26} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.115023s] ... ok {7} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.011241s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.019369s] ... ok {12} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.065672s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.128182s] ... ok {26} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.073134s] ... ok {7} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.011220s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.017906s] ... ok {12} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.075865s] ... ok {7} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.012178s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.008806s] ... ok {26} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.023391s] ... ok {19} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.017370s] ... ok {7} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.016941s] ... ok 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-2e6c6bd1-0f52-4f1c-8c8e-e350eb4a7ec9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2020-11-20T07:00:35.450544+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {26} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.031548s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {28} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.009743s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.089065s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.063916s] ... ok {26} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.029750s] ... ok {7} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.008598s] ... ok {28} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.009593s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {26} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.029176s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.056338s] ... ok {28} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.025105s] ... ok {7} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.012815s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.016921s] ... ok {26} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.029524s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.174553s] ... ok {28} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.010421s] ... ok {7} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.010261s] ... ok {26} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.034310s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.012684s] ... ok {19} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false_with_smartnic_port [0.078088s] ... ok {7} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.011360s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_dev [0.015139s] ... ok {12} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.054119s] ... ok {26} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.080404s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.100052s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.011629s] ... ok {12} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.032125s] ... ok {26} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.055027s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.040343s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.016784s] ... ok {12} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.083269s] ... ok {26} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.100550s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.040194s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.014385s] ... ok {12} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.030111s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.030436s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.028733s] ... ok {28} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.008977s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.012767s] ... ok {12} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.601780s] ... ok {26} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.027772s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.012699s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.050029s] ... ok {12} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.020911s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_MissingParam [0.083012s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.011574s] ... ok {28} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.036400s] ... ok {12} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.028896s] ... ok {19} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.045698s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.127614s] ... ok {28} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch_none [0.013832s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.106359s] ... ok {19} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.007130s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.066912s] ... ok {28} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.055049s] ... ok {19} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.008270s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.042818s] ... ok {28} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.037808s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.096232s] ... ok {19} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.051786s] ... ok {12} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.028287s] ... ok {28} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.037474s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.084890s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.030717s] ... ok {19} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.009528s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root [0.104746s] ... ok {28} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.041572s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration [0.105497s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.156223s] ... ok {19} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.010675s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.010362s] ... ok {12} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.017322s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.027902s] ... ok {19} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.011999s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.010468s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.055672s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.122462s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.010989s] ... ok {19} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.006233s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.065980s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.011039s] ... ok {19} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.009270s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.069631s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.053511s] ... ok {19} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [1.303155s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.044144s] ... ok {19} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.016903s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown [0.078247s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [2.109261s] ... ok {28} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_sensors_data [0.014864s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_without_component [0.051116s] ... ok {19} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.008036s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.049951s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.169244s] ... ok {19} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.010371s] ... ok {28} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_fail [0.096781s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.080830s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.050733s] ... ok {28} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_override_with_cimc_interfaces [0.044066s] ... ok {19} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.010303s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.077959s] ... ok {28} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.044309s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.043075s] ... ok {19} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.012027s] ... ok {19} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.012307s] ... ok {28} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.064178s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.053621s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.073613s] ... ok {28} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.011772s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.073265s] ... ok {26} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.055560s] ... ok {28} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.017240s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.098850s] ... ok {26} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.038972s] ... ok {28} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.007754s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [2.078809s] ... ok {26} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.067782s] ... ok {28} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.006335s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.051808s] ... ok {28} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.011852s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.081222s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.055358s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_localboot [0.117861s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.051708s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_post_clean_step_hook [0.018167s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.050362s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.125724s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.066544s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.065000s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.055698s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.053135s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.016117s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.052818s] ... ok {26} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_linkfail [0.017842s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_basic_session_caching [0.046108s] ... ok {26} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.013317s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.015390s] ... ok {26} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.012963s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.017279s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.009917s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.048022s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.051343s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.065845s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.046002s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.048681s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.077540s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.020975s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_partition_image [0.086585s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.020672s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.071437s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.018263s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.024578s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.051592s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.047512s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.048533s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_reboot [0.070747s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.084398s] ... ok 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-d0eb02ae-aa82-4dad-b1d7-cf0d7ed1a372 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {26} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.384714s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_bad_command_result [0.060522s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.049175s] ... ok {26} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.069126s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.011056s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.040791s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate [0.062352s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.010810s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.013746s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.019770s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.068474s] ... ok {12} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.013115s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.012512s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.012917s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.052072s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.010669s] ... ok {26} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.050422s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2 [0.054429s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.050329s] ... ok {26} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.050124s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.050288s] ... ok {26} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.047822s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.019288s] ... ok {26} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.011291s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.062970s] ... ok {26} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.007111s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.066939s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.014895s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.022622s] ... ok {26} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.016799s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.014524s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.018987s] ... ok {26} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.012487s] ... ok {26} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.013872s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.011478s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.044879s] ... ok {26} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.008309s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.009923s] ... ok {12} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device [0.102015s] ... ok {12} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.147181s] ... ok {12} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.010523s] ... ok {12} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.006077s] ... ok {12} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.009454s] ... ok {12} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.009523s] ... ok {12} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.009491s] ... ok GET: /v1/volume/targets?fields=uuid,extra {} GOT:{u'targets': [{u'uuid': u'06912a95-67dd-4ac6-b46f-73bb2be76991', u'links': [{u'href': u'http://localhost/v1/volume/targets/06912a95-67dd-4ac6-b46f-73bb2be76991', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/06912a95-67dd-4ac6-b46f-73bb2be76991', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'636cb6d9-3178-49ec-a7ce-4bf7b6cea48f', u'links': [{u'href': u'http://localhost/v1/volume/targets/636cb6d9-3178-49ec-a7ce-4bf7b6cea48f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/636cb6d9-3178-49ec-a7ce-4bf7b6cea48f', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'd6c0c206-c4cc-4e47-b325-7c21ec5fb138', u'links': [{u'href': u'http://localhost/v1/volume/targets/d6c0c206-c4cc-4e47-b325-7c21ec5fb138', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/d6c0c206-c4cc-4e47-b325-7c21ec5fb138', u'rel': u'bookmark'}], u'extra': {}}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=d6c0c206-c4cc-4e47-b325-7c21ec5fb138'} {24} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.105523s] ... ok {12} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.009130s] ... ok {12} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.009166s] ... ok {12} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.006169s] ... ok {12} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.009558s] ... ok {12} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.008993s] ... ok {12} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.015169s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'resource_class': 'foo', 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-24a02a11-e49d-4c4f-a497-fd274a6e4274 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.038597s] ... ok GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dcfac1f2-30f9-4f23-ae4f-1f06725bd683 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "version": {"status": "CURRENT", "min_version": "1.1", "version": "1.56", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-89250404-b8b9-406c-83fc-ef0abeebf16b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "version": {"status": "CURRENT", "min_version": "1.1", "version": "1.56", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} {13} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [0.061754s] ... ok {13} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.013430s] ... ok 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-7f89e42d-bec0-4c6b-9670-eae5ac4ad7cf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.059305s] ... ok GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-acb2109a-b1a7-49a5-a872-e249ba0d312c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {24} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.047423s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9c1023c3-fd32-4945-a731-771f771b06f0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.540357+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {"bond_param": "100"}, "name": "pg.1"} GET: / {} GOT:{u'default_version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.56', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'description': u'Ironic is an OpenStack project which aims to provision baremetal machines.', u'name': u'OpenStack Ironic API', u'versions': [{u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.56', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}]} {13} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.033023s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.086448s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_by_conductor_group [0.007616s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_rescue_interface_fail [0.008749s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.006897s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.008241s] ... ok Malformed option m1key1=value1 {13} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.018749s] ... ok {13} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.029413s] ... ok {13} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.020560s] ... ok {13} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_ioerror [0.018867s] ... ok {13} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_post [0.035559s] ... ok {13} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.012656s] ... ok {13} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_deprecated_opts [0.023770s] ... ok {13} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.094037s] ... ok {13} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.069887s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.122005s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.069337s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.030254s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.094168s] ... ok {13} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.021219s] ... ok {13} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.013231s] ... ok {13} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.012190s] ... ok {13} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.012475s] ... ok {13} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.013550s] ... ok {13} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.321951s] ... ok {13} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.197426s] ... ok {13} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.255995s] ... ok {13} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.306449s] ... ok {13} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_do_next_clean_step_oob_reboot_fail [0.356439s] ... ok {13} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.057066s] ... ok {13} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.082346s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.116359s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_old [0.303240s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.276832s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.021818s] ... ok {13} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.079200s] ... ok {13} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.413365s] ... ok {13} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.379023s] ... ok {13} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.017650s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.097459s] ... ok {13} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.019705s] ... ok {13} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.093049s] ... ok {13} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.084028s] ... ok {13} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.012573s] ... ok {13} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.031519s] ... ok {13} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.016001s] ... ok {13} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.085124s] ... ok {13} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.095035s] ... ok {13} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.077568s] ... ok {13} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.080133s] ... ok {13} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {13} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.021815s] ... ok {13} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.020250s] ... ok {13} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.067624s] ... ok GET: /v1/ports?fields=uuid,extra {} GOT:{u'ports': [{u'uuid': u'b40096e7-550d-4df2-b7e0-eeecbe936edb', u'links': [{u'href': u'http://localhost/v1/ports/b40096e7-550d-4df2-b7e0-eeecbe936edb', u'rel': u'self'}, {u'href': u'http://localhost/ports/b40096e7-550d-4df2-b7e0-eeecbe936edb', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'598cdb37-3af2-4c69-bd40-39eaf639ae6c', u'links': [{u'href': u'http://localhost/v1/ports/598cdb37-3af2-4c69-bd40-39eaf639ae6c', u'rel': u'self'}, {u'href': u'http://localhost/ports/598cdb37-3af2-4c69-bd40-39eaf639ae6c', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'509bf0af-f31f-4ef2-9c93-5d684e2e98b0', u'links': [{u'href': u'http://localhost/v1/ports/509bf0af-f31f-4ef2-9c93-5d684e2e98b0', u'rel': u'self'}, {u'href': u'http://localhost/ports/509bf0af-f31f-4ef2-9c93-5d684e2e98b0', u'rel': u'bookmark'}], u'extra': {}}]} {13} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.032930s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.081068s] ... ok {13} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.029865s] ... ok {13} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.053038s] ... ok {13} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.055546s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.076320s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.024417s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.020122s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.049967s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.048831s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.065828s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid [0.079951s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.059211s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.016365s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.085134s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.015467s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.040400s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.245106s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.037921s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.082708s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.057280s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.065388s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.059433s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.087749s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.056167s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.062182s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [1.564234s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.043968s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_race [0.063968s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.117930s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.055090s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.094659s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_no_manage_agent_boot [0.100227s] ... ok {13} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.019137s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.011422s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.010959s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.007559s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.015927s] ... ok {13} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.017265s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.010418s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1 [0.052702s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.054731s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.019116s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [2.062643s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.046606s] ... ok {13} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.130091s] ... ok {13} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.006815s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.043157s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare [0.085783s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.015222s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.012422s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.012005s] ... ok {13} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_properties [0.037605s] ... ok {13} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.015471s] ... ok {13} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.015291s] ... ok {13} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.012552s] ... ok {13} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.011128s] ... ok {13} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.006138s] ... ok {13} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.009235s] ... ok {13} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.009466s] ... ok {13} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.009350s] ... ok {13} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.013648s] ... 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-19112706-d180-4f43-8e57-bd21bf52639b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {13} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.013622s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.036301s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.006784s] ... ok GET: /v1/portgroups?sort_key=uuid {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'0838bca5-5c45-49de-9717-955e2ad692ec', u'links': [{u'href': u'http://localhost/v1/portgroups/0838bca5-5c45-49de-9717-955e2ad692ec', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0838bca5-5c45-49de-9717-955e2ad692ec', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'801b403c-2f9c-4f9c-ace8-ea4b472d3e94', u'links': [{u'href': u'http://localhost/v1/portgroups/801b403c-2f9c-4f9c-ace8-ea4b472d3e94', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/801b403c-2f9c-4f9c-ace8-ea4b472d3e94', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'b038a5e2-98fb-4649-87b9-ccaaba67760b', u'links': [{u'href': u'http://localhost/v1/portgroups/b038a5e2-98fb-4649-87b9-ccaaba67760b', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/b038a5e2-98fb-4649-87b9-ccaaba67760b', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.098018s] ... ok GET: /v1/ports/detail {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'79729fca-71aa-4bbc-b0ce-018e128e4216', u'links': [{u'href': u'http://localhost/v1/ports/79729fca-71aa-4bbc-b0ce-018e128e4216', u'rel': u'self'}, {u'href': u'http://localhost/ports/79729fca-71aa-4bbc-b0ce-018e128e4216', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:35.618496+00:00', u'updated_at': None, u'address': u'66:44:55:33:11:22'}]} {23} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.044197s] ... ok GET: /v1/volume/targets?sort_key=uuid {} GOT:{u'targets': [{u'boot_index': 2, u'uuid': u'0dd8ec26-805c-4b32-9919-26ffddde889a', u'links': [{u'href': u'http://localhost/v1/volume/targets/0dd8ec26-805c-4b32-9919-26ffddde889a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0dd8ec26-805c-4b32-9919-26ffddde889a', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'151f9081-4b4d-40d4-af00-7479fb88185f', u'links': [{u'href': u'http://localhost/v1/volume/targets/151f9081-4b4d-40d4-af00-7479fb88185f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/151f9081-4b4d-40d4-af00-7479fb88185f', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 0, u'uuid': u'd7d46d7d-5461-4d16-9148-a025f7a5bcfa', u'links': [{u'href': u'http://localhost/v1/volume/targets/d7d46d7d-5461-4d16-9148-a025f7a5bcfa', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/d7d46d7d-5461-4d16-9148-a025f7a5bcfa', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {24} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.554923s] ... ok 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-f0f4c36c-779c-4e92-8ec1-90038e3fbe08 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.054424s] ... ok 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-23e19dde-8a2f-4a3e-bead-21f0ba49044c X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2020-11-20T07:00:35.659216+00:00", "updated_at": "2020-11-20T07:00:35.695016+00:00", "address": "52:54:00:cf:2d:31"} {23} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.349435s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'internal_info': 'info', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fb14b8d3-dcbb-44d6-b184-8a18d6285f45 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute portgroup. Value: '{'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'internal_info': 'info', 'name': 'fooname'}'. Value not a valid dict: info\"}"} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.051875s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ca06d4aa-2e6f-4e6c-9cc9-8cab91b195a0 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2020-11-20T07:00:36.193573+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {24} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.087428s] ... ok GET: /v1/foo {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {24} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.024879s] ... ok {24} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.053275s] ... ok func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. {24} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.020834s] ... ok {24} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.018138s] ... ok {24} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.075457s] ... ok {24} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.008301s] ... ok {24} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi_with_deploy_iso [0.029185s] ... ok {24} ironic.tests.unit.common.test_json_rpc.TestClient.test_can_send_version [0.013824s] ... ok {24} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.017282s] ... ok {24} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.032345s] ... ok {24} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.018032s] ... ok {24} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.011722s] ... ok {24} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.116444s] ... ok {24} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.224806s] ... ok {24} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.068941s] ... ok {24} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.267777s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.318599s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.135872s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.294470s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.316749s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.358773s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.292097s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.267565s] ... ok {24} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.018020s] ... ok {24} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.136185s] ... ok {24} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.071521s] ... ok {24} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.093507s] ... ok {24} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.068273s] ... ok {24} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.012152s] ... ok {24} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.014136s] ... ok {24} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.019139s] ... ok {24} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.031479s] ... ok {24} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.032367s] ... ok {24} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.035105s] ... ok {24} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.076614s] ... ok {24} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.122016s] ... ok {24} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {24} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.035913s] ... ok {24} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.016518s] ... ok {24} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [1.248521s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.029165s] ... ok {24} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.027859s] ... ok {24} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.093106s] ... ok {24} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.092872s] ... ok {24} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.097117s] ... ok {24} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.093987s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.074126s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.079782s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.040100s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.026123s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.110886s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.125027s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.089024s] ... ok {24} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.058836s] ... ok {24} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [13.284445s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.028291s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.048266s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.044730s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.042723s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.071719s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.079712s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.055301s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.031159s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.032547s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.043882s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.048375s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.048804s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.042810s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.043421s] ... ok {24} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.033220s] ... ok {24} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_session_reuse [0.042296s] ... ok {24} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.059782s] ... ok {24} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.054337s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.044697s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.041928s] ... ok {24} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.021871s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_version_mismatch [0.042268s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.042274s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.013147s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.045465s] ... ok {24} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.011138s] ... ok {24} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.114014s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.044349s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.041690s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.043928s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.017754s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.017833s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.020468s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.032775s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.077251s] ... ok {24} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.045920s] ... ok {24} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.069295s] ... ok {24} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.006094s] ... ok {24} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.005885s] ... ok {24} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.076023s] ... ok {24} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.033130s] ... ok {24} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.008257s] ... ok {24} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_logout [0.033123s] ... ok {24} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.043068s] ... ok {24} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.006004s] ... ok {24} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.037550s] ... ok {24} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.035532s] ... ok {24} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.036056s] ... ok {24} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.009684s] ... ok {24} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.005559s] ... ok {24} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.008908s] ... ok {24} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.009026s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.005395s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.006127s] ... ok {24} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.007871s] ... ok {24} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.011708s] ... ok {24} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.010132s] ... ok {24} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.010929s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/67259c0c-b687-474f-b22c-4600cb49974f Openstack-Request-Id: req-659b331a-839e-467d-80ea-8945b6ab18a5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "67259c0c-b687-474f-b22c-4600cb49974f", "links": [{"href": "http://localhost/v1/volume/connectors/67259c0c-b687-474f-b22c-4600cb49974f", "rel": "self"}, {"href": "http://localhost/volume/connectors/67259c0c-b687-474f-b22c-4600cb49974f", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.783717+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/67259c0c-b687-474f-b22c-4600cb49974f {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'67259c0c-b687-474f-b22c-4600cb49974f', u'links': [{u'href': u'http://localhost/v1/volume/connectors/67259c0c-b687-474f-b22c-4600cb49974f', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/67259c0c-b687-474f-b22c-4600cb49974f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:35.783717+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.098539s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-36dc7ec1-2554-47ea-930e-252df42ac689 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:35.365636+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.079220s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.031180s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class_fail [0.014269s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.011908s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68bfab66-339c-4208-bfee-8d76906fa476 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute type. Value: 'None'. Mandatory field missing.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.047945s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9bfbd714-0201-4958-a014-17335adfe957 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:36.072224+00:00", "is_smartnic": false} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2020-11-20T07:00:36.072224+00:00', u'is_smartnic': False} {23} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.133367s] ... ok GET: /v1/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3 {} GOT:{u'boot_index': 0, u'uuid': u'7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'links': [{u'href': u'http://localhost/v1/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:35.852761+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} GET: /v1/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3 {} GOT:{u'boot_index': 0, u'uuid': u'7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'links': [{u'href': u'http://localhost/v1/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:35.852761+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} GET: /volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3 {} GOT:{u'boot_index': 0, u'uuid': u'7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'links': [{u'href': u'http://localhost/v1/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7bda4b1b-a6a3-4890-bee0-69bf11df99a3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:35.852761+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {11} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.107753s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eebec727-58d3-4c4e-affa-072054e471a9 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2020-11-20T07:00:35.529763+00:00", "updated_at": "2020-11-20T07:00:35.538862+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {30} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.221199s] ... ok 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-db8e8021-8887-419b-b730-09afde2a3cf2 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'value': u'1', 'op': 'replace'}'. Reason: can't replace non-existent object 'node_id'\"}"} {11} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.052881s] ... ok {11} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.019033s] ... ok {11} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.027591s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {30} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.036532s] ... ok {11} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.012656s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_volume_target.TestVolumeTargetObject.test_volume_target_init [0.012712s] ... ok {11} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.066914s] ... ok {30} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.024627s] ... ok {30} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.032200s] ... ok {11} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_code [0.014525s] ... ok {30} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.116606s] ... ok {30} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.104476s] ... ok {11} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.007438s] ... ok {30} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.025938s] ... ok {11} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [1.668172s] ... ok {30} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.079515s] ... ok {11} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.031100s] ... ok {30} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.013271s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.065258s] ... ok {30} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.012744s] ... ok {11} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.013646s] ... ok {30} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.179312s] ... ok {11} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.070992s] ... ok {30} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.020464s] ... ok {11} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.024005s] ... ok {30} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.018215s] ... ok {11} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.079845s] ... ok {30} ironic.tests.unit.common.test_json_rpc.TestService.test_notification [0.036101s] ... ok {30} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.082265s] ... ok {30} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.093672s] ... ok {11} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.009330s] ... ok {11} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.132045s] ... ok {30} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.015304s] ... ok {30} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.117398s] ... ok {11} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.056992s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.310100s] ... ok {30} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.088086s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.273317s] ... ok {30} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_elilo [0.092741s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.233850s] ... ok {30} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.020512s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.021783s] ... ok {30} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.022011s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.024850s] ... ok {30} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.019447s] ... ok {30} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.011512s] ... ok {11} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.115929s] ... ok {30} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.011198s] ... ok {11} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done_old [0.350147s] ... ok {30} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.085800s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [3.057030s] ... ok {30} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.055179s] ... ok {11} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.052507s] ... ok {30} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [2.133289s] ... ok {30} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.231862s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.011795s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.027125s] ... ok {30} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.267992s] ... ok {11} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.052374s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.469220s] ... ok {11} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.046954s] ... ok {11} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.020525s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.189241s] ... ok {11} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.007621s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.077592s] ... ok {11} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.007918s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [0.185874s] ... ok {11} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.049283s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.188077s] ... ok {30} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.015987s] ... ok {11} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.019756s] ... ok {11} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.061148s] ... ok {11} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.051483s] ... ok {30} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.012543s] ... ok {11} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.009579s] ... ok {30} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.125363s] ... ok {11} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.017522s] ... ok {11} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.029422s] ... ok {30} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.167622s] ... ok {30} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.056212s] ... ok {11} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.039202s] ... ok {11} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.020702s] ... ok {30} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.294308s] ... ok {11} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.023366s] ... ok {30} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.084584s] ... ok {11} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.063642s] ... ok {30} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.084807s] ... ok {11} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_fail [0.055320s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.015140s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.013848s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.017156s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.013608s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.017816s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.033505s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.071662s] ... ok {30} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.012525s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.053600s] ... ok {30} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.073185s] ... ok {30} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.032827s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.068724s] ... ok {30} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.028962s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.016958s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.016669s] ... ok {30} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.029982s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.007229s] ... ok {30} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.039543s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.052497s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.052008s] ... ok {30} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.036189s] ... ok {30} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.050819s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.121312s] ... ok {30} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.041385s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.048439s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.017752s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.070232s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.028762s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.080219s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.063312s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.120138s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.016349s] ... ok {30} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.097523s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.053687s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.070185s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.060359s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.075594s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.061900s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.079534s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.060339s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.253902s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.019719s] ... ok {11} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.054692s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.016748s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.063595s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.067662s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_checksum_validation_error [0.051984s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.048139s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.055969s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_other_commands [0.046824s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed [0.070657s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.014597s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.057287s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.013316s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.006733s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.017560s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.053954s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.017253s] ... ok POST: /v1/ports {'local_link_connection': {'hostname': 'host1', 'port_id': 'rep0-0'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': True} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ccfa723f-fa9d-4a7b-8cbc-4265ab5a61ca X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"hostname": "host1", "port_id": "rep0-0"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:36.198340+00:00", "is_smartnic": true} {11} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.053388s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.502492s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.073055s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.008066s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.054098s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.010092s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.014490s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.045675s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.046351s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.014677s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.019410s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.045166s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.031932s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.019835s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.059385s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.016824s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.047534s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.023901s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.040851s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.048527s] ... ok {11} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [0.046357s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.046607s] ... ok {30} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.034977s] ... ok {11} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.014880s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.050136s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.089096s] ... ok {30} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.007492s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.087474s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.078713s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_unrescuing [0.066482s] ... ok {30} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.018325s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.054786s] ... ok {30} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.010938s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.022340s] ... ok {30} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.018418s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.046136s] ... ok {30} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.041872s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.009838s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.047808s] ... ok {11} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.049256s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.017610s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.032151s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.032348s] ... ok {11} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.007288s] ... ok {11} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.009698s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.041594s] ... ok {11} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.009564s] ... ok {30} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.073707s] ... ok {11} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.008128s] ... ok {30} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_active [0.060603s] ... ok {11} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.012934s] ... ok {11} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.009409s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.010072s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.013136s] ... ok {11} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.009015s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.010122s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.008638s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.008748s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_fail [0.559235s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_timeout [0.097304s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate_fail [0.033647s] ... ok {30} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.044123s] ... ok {30} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.037921s] ... ok {30} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.039686s] ... ok {30} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.041460s] ... ok {30} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.009123s] ... ok {30} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.009008s] ... ok {30} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.005826s] ... ok {30} ironic.tests.unit.objects.test_portgroup.TestMigrateVifPortId.test_migrate_vif_port_id_one [0.019068s] ... ok {30} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.008380s] ... ok {30} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.010522s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f14b30bd-36eb-4a6e-af8e-11b603ac0543 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.035680s] ... ok PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/boot_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c30b7c30-8864-42ca-b5d2-7e3f0be90313 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/console_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce0b9caf-c3fc-43db-8e6f-4f0c2e67ac44 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/deploy_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6659cab9-a4a0-4f18-ad0b-a67f6bbe24be X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/inspect_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9eee7af5-2d7c-498d-ae9a-a0e57b5c35cc X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/management_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ced1213-c402-46f4-b7c0-2bea60a576a6 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/power_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-acab6a33-e1d8-4278-84cd-f0558d700d96 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/raid_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0675ac5-61f9-475e-a1fa-ff8f075b33ba X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} PATCH: /v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f [{'path': '/vendor_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52303b19-08b6-4c8e-ab6b-0ef1e00440ae X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "d3c6da8a-0519-431c-aefa-202f6d78917f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:34.300201+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3c6da8a-0519-431c-aefa-202f6d78917f/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [4.908169s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'name': u'fooname'}]} GET: /v1/portgroups?detail=False {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'name': u'fooname'}]} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.084642s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.037319s] ... ok 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-cc99599f-1b8f-47d6-8cd7-a6c27098772f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:36.811732+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [3.069834s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs_fail [0.014102s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_unknown_verbs [0.014179s] ... ok PATCH: /v1/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4cf0eed7-ed10-495a-ad13-04d246b1c128 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"target_power_state": null, "automated_clean": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1", "rel": "self"}, {"href": "http://localhost/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1", "rel": "bookmark"}], "target_provision_state": null, "deploy_step": {}, "storage_interface": null, "conductor_group": "", "protected_reason": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/states", "rel": "self"}, {"href": "http://localhost/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "description": null, "uuid": "ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "last_error": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "conductor": null, "power_interface": null, "driver": "fake-hardware", "updated_at": null, "volume": [{"href": "http://localhost/v1/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/volume", "rel": "self"}, {"href": "http://localhost/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": null, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "fault": null, "created_at": "2020-11-20T07:00:39.205131+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/ports", "rel": "self"}, {"href": "http://localhost/nodes/ebb14fb2-91f5-4eea-826f-5cc4c81c0ab1/ports", "rel": "bookmark"}], "console_interface": null, "protected": false, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "owner": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "allocation_uuid": null} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [2.346207s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-77be05ec-01a7-41d3-a1b6-758ea50c48e8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {23} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.063179s] ... ok 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-3eea21e3-c7f2-406f-b05f-4b1416cc51de X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.055011s] ... ok {23} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.022025s] ... ok func1() migrated 10 of 10 objects. {23} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.021700s] ... ok {23} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.014859s] ... ok {23} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.024056s] ... ok {23} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [2.271022s] ... ok {23} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.038886s] ... ok {23} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.008068s] ... ok {23} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure [0.022172s] ... ok {23} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.065089s] ... ok {23} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.051868s] ... ok {23} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.041378s] ... ok {23} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.011668s] ... ok {23} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.015647s] ... ok {23} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.012405s] ... ok {23} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.010101s] ... ok {23} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.125223s] ... ok {23} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.050668s] ... ok {23} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.141058s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.166463s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.181102s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.192808s] ... ok {23} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [1.570651s] ... ok {23} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.058961s] ... ok {23} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.071116s] ... ok {23} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.056737s] ... ok {23} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.046456s] ... ok {23} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.142383s] ... ok {23} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.046290s] ... ok {23} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.048105s] ... ok {23} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.011592s] ... ok {23} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.029731s] ... ok {23} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.018566s] ... ok {23} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.009938s] ... ok {23} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.072309s] ... ok {23} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {23} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.021795s] ... ok {23} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.027013s] ... ok {23} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.027862s] ... ok {23} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.014956s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 0, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-905d23d0-3058-4394-8d60-3a4abdd507b5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 0.\"}"} {23} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.044283s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.031427s] ... ok {23} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.028180s] ... ok {23} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.023632s] ... ok {23} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.018803s] ... ok {23} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.020177s] ... ok {23} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.025223s] ... ok {23} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.016604s] ... ok {23} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.019244s] ... ok {23} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.072887s] ... ok {23} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.061789s] ... ok {23} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.046085s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.015181s] ... ok {23} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.055149s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.057413s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.082566s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.061210s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.014625s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.022578s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.028212s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.006362s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.063735s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.015821s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.046248s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.038376s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.015112s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.046093s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.036146s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.046830s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.005855s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.013498s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.040972s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.013353s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.042440s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.046344s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.045993s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.049695s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.049142s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.046486s] ... ok {23} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.013556s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot_fail [0.052326s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.060709s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps [0.058589s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.007503s] ... ok {23} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.018560s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.018776s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.014431s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.018440s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.022590s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.053527s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_new_fields_is_md5 [0.074385s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.013056s] ... ok {23} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.008722s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.047772s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.041217s] ... ok PUT: /v1/nodes/node-39/traits {'traits': []} GOT:Response: 204 No Content Openstack-Request-Id: req-deab5dd9-7d63-4d85-a4d4-2c2b187fbfa8 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {10} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [2.134795s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.051376s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.022137s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.011108s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.010162s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.009751s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.015515s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.042489s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.008895s] ... ok {23} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_ok_logout [0.099885s] ... ok {23} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_properties [0.013556s] ... ok {23} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.009933s] ... ok {23} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.041645s] ... ok {23} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.040989s] ... ok {23} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.039826s] ... ok {23} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.010343s] ... ok {23} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.006087s] ... ok {23} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.008605s] ... ok {23} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.008515s] ... ok PATCH: /v1/ports/fbf447a8-d346-42e9-b049-9910cd700298 [{'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-06a5e050-3935-45af-8d3b-e8cb98219a2f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "fbf447a8-d346-42e9-b049-9910cd700298", "links": [{"href": "http://localhost/v1/ports/fbf447a8-d346-42e9-b049-9910cd700298", "rel": "self"}, {"href": "http://localhost/ports/fbf447a8-d346-42e9-b049-9910cd700298", "rel": "bookmark"}], "extra": {"vif_port_id": "bar"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2020-11-20T07:00:43.728055+00:00", "address": "52:55:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "bar", "bar": "buzz"}, "created_at": "2020-11-20T07:00:43.700738+00:00"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_no_internal [0.060880s] ... ok 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-592dc6c0-f8e8-4298-8a12-b0db53d495d5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\"}"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.031729s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.009648s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'invalid-format', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-927ac943-564e-4cf7-8b10-bddd9bb911e5 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.032777s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': 'zz:zz:zz:zz:zz:zz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4bf8e4ff-21fa-4f60-aea6-b4b6f7511a0e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [1.296849s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'd3648d1e-a797-454b-95a1-bcab6c22631c'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3b2c0ad3-c453-4370-b97b-e3f4e19f0f60 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "d3648d1e-a797-454b-95a1-bcab6c22631c"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"tenant_vif_port_id": "d3648d1e-a797-454b-95a1-bcab6c22631c"}, "created_at": "2020-11-20T07:00:45.158756+00:00", "is_smartnic": false} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.061164s] ... ok 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-671e2cd5-b5a4-45f2-8c48-efeac9eec69e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\"}"} {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.031124s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:BB:CC:DD:EE:FF', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-8884fd1e-45f6-4424-b352-23b8ad0ec1fe X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:45.234731+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:45.234731+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'aa:bb:cc:dd:ee:ff', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [1.477243s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values [0.006940s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.006809s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs [0.007280s] ... ok GET: /v1/volume/connectors?detail=False {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'connector_id': u'iqn.2012-06.com.example:initiator'}]} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.041138s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'8e33b078-6d23-4005-8c40-f5bd12322b29', u'links': [{u'href': u'http://localhost/v1/volume/connectors/8e33b078-6d23-4005-8c40-f5bd12322b29', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/8e33b078-6d23-4005-8c40-f5bd12322b29', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'28ad2348-245a-4d22-bb04-27b827fb46a1', u'links': [{u'href': u'http://localhost/v1/volume/connectors/28ad2348-245a-4d22-bb04-27b827fb46a1', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/28ad2348-245a-4d22-bb04-27b827fb46a1', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'03ffccfc-33aa-4aac-b347-4cec61bccc9f', u'links': [{u'href': u'http://localhost/v1/volume/connectors/03ffccfc-33aa-4aac-b347-4cec61bccc9f', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/03ffccfc-33aa-4aac-b347-4cec61bccc9f', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'443690ae-262c-4021-b54a-e03ccf734dd3', u'links': [{u'href': u'http://localhost/v1/volume/connectors/443690ae-262c-4021-b54a-e03ccf734dd3', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/443690ae-262c-4021-b54a-e03ccf734dd3', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-3'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'f489cb3e-b715-422f-b5d5-0ebc48640356', u'links': [{u'href': u'http://localhost/v1/volume/connectors/f489cb3e-b715-422f-b5d5-0ebc48640356', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/f489cb3e-b715-422f-b5d5-0ebc48640356', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-4'}]} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [1.482620s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {10} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.038974s] ... ok 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-4cab9d97-c6fc-46a3-a4dc-0b6c8581b476 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {10} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.030299s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-34bd47ca-f4eb-4b73-a179-17916a2ebfb3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {10} ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header [0.030157s] ... ok {10} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.015040s] ... ok GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'portgroups': [{u'href': u'http://localhost/v1/portgroups/', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/', u'rel': u'bookmark'}], u'id': u'v1', u'volume': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}], u'version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.56', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}]} {10} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.023062s] ... ok {10} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.012341s] ... ok {10} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.020863s] ... ok {10} ironic.tests.unit.common.test_exception.TestIronicException.test___init___string_serializable [0.010162s] ... ok {10} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.013560s] ... ok {10} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.047296s] ... ok {10} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.033994s] ... ok {10} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.009236s] ... ok {10} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_unexpected_failure [0.012837s] ... ok {10} ironic.tests.unit.common.test_json_rpc.TestService.test_success [0.021505s] ... ok {10} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.012553s] ... ok {10} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.024554s] ... ok {10} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.010192s] ... ok {10} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.017228s] ... ok {10} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.006813s] ... ok {10} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.094247s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.159778s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.161479s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.082784s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.141632s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.190042s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.011684s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.012035s] ... ok {10} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.055354s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.121823s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.047993s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.010115s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.452752s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.009908s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.009833s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.010039s] ... ok {10} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_steps [0.043373s] ... ok {10} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.008962s] ... ok {10} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.060179s] ... ok {10} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.051171s] ... ok {10} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.017549s] ... ok {10} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.016434s] ... ok {10} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.014674s] ... ok {10} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_password [0.015930s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.046917s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.043168s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.052499s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job [0.063035s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.055035s] ... ok {10} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.853686s] ... ok {10} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.013062s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_url [0.047051s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.053977s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.014755s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.041636s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.044251s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.013824s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.006966s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.041090s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.039814s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.042138s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.013777s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.051612s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.048902s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.763329s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.039272s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.032520s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.046540s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.039344s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.030269s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.043921s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.047565s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.046275s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.014790s] ... ok {10} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.058754s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.060575s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.092504s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.043528s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.037830s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook [0.347780s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_get_power_state_fails [0.059222s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.295678s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean [0.069728s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.007260s] ... ok {10} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.019024s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.176999s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.006547s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.075531s] ... ok {10} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.008355s] ... ok {10} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.112267s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.008198s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.008023s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.041489s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.016768s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.018047s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.043291s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.105722s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [1.014001s] ... ok {10} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.015335s] ... ok {10} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.046806s] ... ok {10} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.007879s] ... ok {10} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.044904s] ... ok {10} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.055089s] ... ok {10} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.013646s] ... ok {10} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.011675s] ... ok {10} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.009522s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.006125s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.006866s] ... ok {10} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.008830s] ... ok {10} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.009961s] ... ok {10} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.010552s] ... ok POST: /v1/nodes {'instance_uuid': None, 'uuid': '9c7153b7-df59-4c38-989c-8fe999ce42ea', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea Openstack-Request-Id: req-10ac5ee1-6a60-4ccd-9e0d-d8edff088033 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea", "rel": "self"}, {"href": "http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/states", "rel": "self"}, {"href": "http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "9c7153b7-df59-4c38-989c-8fe999ce42ea", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/volume", "rel": "self"}, {"href": "http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/ports", "rel": "self"}, {"href": "http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'9c7153b7-df59-4c38-989c-8fe999ce42ea', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9c7153b7-df59-4c38-989c-8fe999ce42ea/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '849158ee-59ac-4132-b830-e4a7da6ae72e', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e Openstack-Request-Id: req-5d5e9994-50ad-4f67-a498-767a4f50d67d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e", "rel": "self"}, {"href": "http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/states", "rel": "self"}, {"href": "http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "849158ee-59ac-4132-b830-e4a7da6ae72e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/volume", "rel": "self"}, {"href": "http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/ports", "rel": "self"}, {"href": "http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'849158ee-59ac-4132-b830-e4a7da6ae72e', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/849158ee-59ac-4132-b830-e4a7da6ae72e/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'bd5c68ac-e016-4d73-9e87-46588f1b522f', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f Openstack-Request-Id: req-79c38b5e-6000-4441-9375-82641331a267 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f", "rel": "self"}, {"href": "http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/states", "rel": "self"}, {"href": "http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "bd5c68ac-e016-4d73-9e87-46588f1b522f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/volume", "rel": "self"}, {"href": "http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/ports", "rel": "self"}, {"href": "http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'bd5c68ac-e016-4d73-9e87-46588f1b522f', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bd5c68ac-e016-4d73-9e87-46588f1b522f/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '86368f50-2afb-485a-980f-b1f8beba482f', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'inspect_interface': 'fake'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f Openstack-Request-Id: req-16fc0725-0bef-43ce-97e2-b0b61c4e5c16 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f", "rel": "self"}, {"href": "http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/states", "rel": "self"}, {"href": "http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "86368f50-2afb-485a-980f-b1f8beba482f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/volume", "rel": "self"}, {"href": "http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/ports", "rel": "self"}, {"href": "http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'86368f50-2afb-485a-980f-b1f8beba482f', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/86368f50-2afb-485a-980f-b1f8beba482f/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86368f50-2afb-485a-980f-b1f8beba482f/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': '9df4211b-4a58-450b-b31e-dbf6ccc50e10', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10 Openstack-Request-Id: req-51057975-3a9d-4681-940b-171aa5de7592 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10", "rel": "self"}, {"href": "http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/states", "rel": "self"}, {"href": "http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "9df4211b-4a58-450b-b31e-dbf6ccc50e10", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/volume", "rel": "self"}, {"href": "http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/ports", "rel": "self"}, {"href": "http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'9df4211b-4a58-450b-b31e-dbf6ccc50e10', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9df4211b-4a58-450b-b31e-dbf6ccc50e10/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '87f83824-8e54-4552-9491-2d0a4810c639', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'power_interface': 'fake', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639 Openstack-Request-Id: req-418451ac-2944-458a-bc30-87916de1014f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639", "rel": "self"}, {"href": "http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/states", "rel": "self"}, {"href": "http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "87f83824-8e54-4552-9491-2d0a4810c639", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/volume", "rel": "self"}, {"href": "http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/ports", "rel": "self"}, {"href": "http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639', u'rel': u'self'}, {u'href': u'http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'87f83824-8e54-4552-9491-2d0a4810c639', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/87f83824-8e54-4552-9491-2d0a4810c639/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/87f83824-8e54-4552-9491-2d0a4810c639/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'd8b9e54c-76c1-4f64-87b5-d2287f70d6fa', 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa Openstack-Request-Id: req-2f76d036-9549-4ed1-ab06-16f36741b2f3 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa", "rel": "self"}, {"href": "http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/states", "rel": "self"}, {"href": "http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "d8b9e54c-76c1-4f64-87b5-d2287f70d6fa", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/volume", "rel": "self"}, {"href": "http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/ports", "rel": "self"}, {"href": "http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'd8b9e54c-76c1-4f64-87b5-d2287f70d6fa', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d8b9e54c-76c1-4f64-87b5-d2287f70d6fa/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'e596b953-44e3-4d7e-943a-a35c278e760e', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e Openstack-Request-Id: req-b57e0d7d-5a60-42e8-b71a-20cee24d8efb X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e", "rel": "self"}, {"href": "http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/states", "rel": "self"}, {"href": "http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "e596b953-44e3-4d7e-943a-a35c278e760e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/volume", "rel": "self"}, {"href": "http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/ports", "rel": "self"}, {"href": "http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'e596b953-44e3-4d7e-943a-a35c278e760e', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e596b953-44e3-4d7e-943a-a35c278e760e/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'df506868-0793-4c7b-9bdb-4ca209fb053f', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f Openstack-Request-Id: req-3a1ba880-d71b-4709-b7cd-193cbd64eff1 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f", "rel": "self"}, {"href": "http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/states", "rel": "self"}, {"href": "http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "df506868-0793-4c7b-9bdb-4ca209fb053f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/volume", "rel": "self"}, {"href": "http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/ports", "rel": "self"}, {"href": "http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'df506868-0793-4c7b-9bdb-4ca209fb053f', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/df506868-0793-4c7b-9bdb-4ca209fb053f/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '57aad1b4-6788-49a0-a287-ccc7a4a5aa6d', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'rescue_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d Openstack-Request-Id: req-01cd65ff-4f85-4b48-9466-e2131d8a1b63 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d", "rel": "self"}, {"href": "http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/states", "rel": "self"}, {"href": "http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "57aad1b4-6788-49a0-a287-ccc7a4a5aa6d", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/volume", "rel": "self"}, {"href": "http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/ports", "rel": "self"}, {"href": "http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'57aad1b4-6788-49a0-a287-ccc7a4a5aa6d', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/57aad1b4-6788-49a0-a287-ccc7a4a5aa6d/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'aefe5aa9-f400-4ee5-a6d2-5893a9cf3588', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'noop', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588 Openstack-Request-Id: req-b4425601-cf7b-4347-9296-b4e63d377471 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588", "rel": "self"}, {"href": "http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/states", "rel": "self"}, {"href": "http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "aefe5aa9-f400-4ee5-a6d2-5893a9cf3588", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/volume", "rel": "self"}, {"href": "http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/ports", "rel": "self"}, {"href": "http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588', u'rel': u'self'}, {u'href': u'http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'aefe5aa9-f400-4ee5-a6d2-5893a9cf3588', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/aefe5aa9-f400-4ee5-a6d2-5893a9cf3588/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '6d216547-3aff-435d-baad-0cf411e8f051', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'bios_interface': 'fake'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051 Openstack-Request-Id: req-ca0a7d05-3617-498d-92c8-19ba4944cb8f X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051", "rel": "self"}, {"href": "http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/states", "rel": "self"}, {"href": "http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "6d216547-3aff-435d-baad-0cf411e8f051", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "volume": [{"href": "http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/volume", "rel": "self"}, {"href": "http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "bios_interface": "fake", "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/ports", "rel": "self"}, {"href": "http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'6d216547-3aff-435d-baad-0cf411e8f051', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'volume': [{u'href': u'http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'bios_interface': u'fake', u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/6d216547-3aff-435d-baad-0cf411e8f051/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6d216547-3aff-435d-baad-0cf411e8f051/ports', u'rel': u'bookmark'}]} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [20.593595s] ... ok 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-6a3e02e6-fa2b-45b3-bbe7-8155be18fc10 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.045864s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-eadae427-b7b8-4e06-84fa-692346d495d7 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8866ea0a-73c2-4f65-8737-c32fdbe22338 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-11d5bc8c-2c08-4e99-8602-d0bf09080409 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-678ccbee-7408-4016-9bd9-3c5a0d60b913 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.999896s] ... ok 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-e7b30578-6e38-4102-b9a6-0131ae7afccf X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.038812s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ec360780-80c5-4aef-a55a-5bc06a05bb63 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.041032s] ... ok GET: /v1/ports?sort_key=pxe_enabled {} GOT:{u'ports': [{u'uuid': u'dfd2cbe7-7f68-4a70-a1fb-6e4ad1f79ffc', u'links': [{u'href': u'http://localhost/v1/ports/dfd2cbe7-7f68-4a70-a1fb-6e4ad1f79ffc', u'rel': u'self'}, {u'href': u'http://localhost/ports/dfd2cbe7-7f68-4a70-a1fb-6e4ad1f79ffc', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'dd2b30f1-8c2b-4cf1-9263-b5cd4f1d67c9', u'links': [{u'href': u'http://localhost/v1/ports/dd2b30f1-8c2b-4cf1-9263-b5cd4f1d67c9', u'rel': u'self'}, {u'href': u'http://localhost/ports/dd2b30f1-8c2b-4cf1-9263-b5cd4f1d67c9', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {20} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.040514s] ... ok 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-6b8754cd-5510-4470-9ead-2d03f4a17e61 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/address' is a mandatory attribute and can not be removed\"}"} {20} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.027789s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/7c4328eb-c6a3-4693-80e0-4e125c5e804c Openstack-Request-Id: req-af3a35c6-fd70-4d34-b66d-721bdb091902 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "7c4328eb-c6a3-4693-80e0-4e125c5e804c", "links": [{"href": "http://localhost/v1/ports/7c4328eb-c6a3-4693-80e0-4e125c5e804c", "rel": "self"}, {"href": "http://localhost/ports/7c4328eb-c6a3-4693-80e0-4e125c5e804c", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:56.707885+00:00", "is_smartnic": false} GET: /v1/ports/7c4328eb-c6a3-4693-80e0-4e125c5e804c {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'7c4328eb-c6a3-4693-80e0-4e125c5e804c', u'links': [{u'href': u'http://localhost/v1/ports/7c4328eb-c6a3-4693-80e0-4e125c5e804c', u'rel': u'self'}, {u'href': u'http://localhost/ports/7c4328eb-c6a3-4693-80e0-4e125c5e804c', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2020-11-20T07:00:56.707885+00:00', u'is_smartnic': False} {20} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.814546s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'is_smartnic': False} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-05266027-2a92-4f0c-88fa-bc7b5f05f86b X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2020-11-20T07:00:56.777867+00:00", "is_smartnic": false} {20} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.054405s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'a49daebf-f1db-407b-a9f1-572d67464e30', u'links': [{u'href': u'http://localhost/v1/portgroups/a49daebf-f1db-407b-a9f1-572d67464e30', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a49daebf-f1db-407b-a9f1-572d67464e30', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'd51e4ec9-4114-441a-8dfd-060d9470f940', u'links': [{u'href': u'http://localhost/v1/portgroups/d51e4ec9-4114-441a-8dfd-060d9470f940', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d51e4ec9-4114-441a-8dfd-060d9470f940', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'e2a288f1-5bd1-4d55-b43c-7cc2a0c1ef7d', u'links': [{u'href': u'http://localhost/v1/portgroups/e2a288f1-5bd1-4d55-b43c-7cc2a0c1ef7d', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e2a288f1-5bd1-4d55-b43c-7cc2a0c1ef7d', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_dir=asc&sort_key=id&fields=uuid,address,name&limit=3&marker=e2a288f1-5bd1-4d55-b43c-7cc2a0c1ef7d'} {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.551947s] ... ok GET: /v1/portgroups/detail?node=test-node {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:57.359051+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.035312s] ... ok 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-b523fd96-d961-4d9e-acca-34706a5c260e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.038054s] ... ok GET: /v1/lookup?node_uuid=26b15a1a-db80-48f6-b51d-b465ce8854f2 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'26b15a1a-db80-48f6-b51d-b465ce8854f2', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/26b15a1a-db80-48f6-b51d-b465ce8854f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/26b15a1a-db80-48f6-b51d-b465ce8854f2', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {20} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.036126s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.006371s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.005516s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs_fail [0.006805s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.005885s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.005792s] ... ok GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79d0b0da-fae1-47f5-9f21-52a2c2e6f72e X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.024386s] ... ok GET: /v1/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'21c17791-7bfe-472e-84af-7d1fd91553b0', u'links': [{u'href': u'http://localhost/v1/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:58.042518+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /v1/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'21c17791-7bfe-472e-84af-7d1fd91553b0', u'links': [{u'href': u'http://localhost/v1/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:58.042518+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'21c17791-7bfe-472e-84af-7d1fd91553b0', u'links': [{u'href': u'http://localhost/v1/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/21c17791-7bfe-472e-84af-7d1fd91553b0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:58.042518+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {20} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.051221s] ... ok 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-7d66869d-0607-4606-bc27-c8cb0ca24d98 X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/value', 'op': 'remove'}'. Reason: can't remove non-existent object 'value'\"}"} {20} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.247480s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {'foo': 123}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-51153aa4-7b44-4b0f-a67b-16c30c9955da X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2020-11-20T07:00:58.350752+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2020-11-20T07:00:58.350752+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {20} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.042758s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-084686fb-6be3-4abf-8293-9aec0c82599a X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {20} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.031663s] ... ok POST: /v1/volume/targets {'boot_index': 0, 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/23753df3-b74e-418f-b90a-73cd78fc3dd9 Openstack-Request-Id: req-9fe27d52-018b-4ba3-95b7-7e088904e50d X-Openstack-Ironic-Api-Maximum-Version: 1.56 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"boot_index": 0, "uuid": "23753df3-b74e-418f-b90a-73cd78fc3dd9", "links": [{"href": "http://localhost/v1/volume/targets/23753df3-b74e-418f-b90a-73cd78fc3dd9", "rel": "self"}, {"href": "http://localhost/volume/targets/23753df3-b74e-418f-b90a-73cd78fc3dd9", "rel": "bookmark"}], "extra": {}, "created_at": "2020-11-20T07:00:58.430524+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/23753df3-b74e-418f-b90a-73cd78fc3dd9 {} GOT:{u'boot_index': 0, u'uuid': u'23753df3-b74e-418f-b90a-73cd78fc3dd9', u'links': [{u'href': u'http://localhost/v1/volume/targets/23753df3-b74e-418f-b90a-73cd78fc3dd9', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/23753df3-b74e-418f-b90a-73cd78fc3dd9', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2020-11-20T07:00:58.430524+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {20} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.284702s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-27380692-a878-4c57-bd9e-a8a793927cec {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {20} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.014749s] ... ok {20} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.048299s] ... ok {20} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.008631s] ... ok {20} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.012765s] ... ok {20} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.010654s] ... ok {20} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.040375s] ... ok {20} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.040096s] ... ok {20} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.038462s] ... ok {20} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.007871s] ... ok {20} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.008694s] ... ok {20} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.008520s] ... ok {20} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.042212s] ... ok {20} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_uefi [0.035509s] ... ok {20} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.006179s] ... ok {20} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.005764s] ... ok {20} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.144825s] ... ok {20} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.117549s] ... ok {20} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_no_skip_step [0.131404s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.165437s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat [0.132238s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.120939s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [9.025681s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.040188s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.114783s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.007235s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.009242s] ... ok {22} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_fail_logout [0.079894s] ... ok {22} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.004864s] ... ok {22} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.036569s] ... ok {22} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.008992s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.131013s] ... ok {22} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.009046s] ... ok {22} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.007414s] ... ok {22} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.009013s] ... ok {22} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.004782s] ... ok {22} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.005576s] ... ok {22} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.006246s] ... ok {22} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.008700s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.056208s] ... ok {22} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.008714s] ... ok {20} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.098027s] ... ok {20} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.118317s] ... ok {20} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.008683s] ... ok {20} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.034386s] ... ok {20} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.010374s] ... ok {20} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.010281s] ... ok {20} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.038601s] ... ok {20} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.007685s] ... ok {20} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.056827s] ... ok {20} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.104059s] ... ok {20} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.016531s] ... ok {20} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.026501s] ... ok {20} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.035485s] ... ok {20} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.034347s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.033964s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset [0.036926s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_uuid [0.034130s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.039051s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_no_cafile [0.085100s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.033495s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.010755s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.010661s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.033487s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.034550s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.031914s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.030471s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error [0.039992s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid [0.047183s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.031894s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.038720s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.056210s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.040684s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.010785s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.026592s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.027258s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.027626s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.033272s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.037077s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.036562s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.018453s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.014408s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.033050s] ... ok {20} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.033007s] ... ok {20} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.032814s] ... ok {20} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.036887s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.050989s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.078884s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.047052s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.009254s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.007434s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.017291s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.009558s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.010870s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.010509s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.013495s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.004868s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_sparse [0.010065s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.045168s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.007880s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.011493s] ... ok {20} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.008842s] ... ok {20} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_url [0.010111s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.006388s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.034203s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.011682s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.025526s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.066093s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.432624s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.036041s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_with_smartnic_port [0.063276s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.057109s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image_no_root [0.010409s] ... ok {20} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.014813s] ... ok {20} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.008090s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [20.609926s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.032402s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.044091s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_proxies [0.056960s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.070039s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.042295s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.043659s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.036744s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.004853s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.005054s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.012117s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.005757s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.006658s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.006385s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.012049s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.013049s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.014384s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.066754s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.065347s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.028717s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.028861s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.056625s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.007773s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.033352s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.006971s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.004839s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.032159s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.044120s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.009080s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.005524s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.009141s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.007319s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.004739s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.004915s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.006703s] ... ok {21} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [24.558648s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.039157s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false_with_smartnic_port [0.076882s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_fail [0.036411s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_fails [0.047894s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.005955s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.006045s] ... ok {21} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.009423s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.012693s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.013466s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.010709s] ... ok {21} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.008658s] ... ok {21} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.009030s] ... ok {21} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.007158s] ... ok {21} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.009091s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.033499s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.015054s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.014900s] ... ok {21} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.041069s] ... ok {21} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.010441s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.077760s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.030900s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_calls_boot_validate [0.035192s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.009288s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.008962s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.008911s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.007249s] ... ok {21} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.033125s] ... ok {21} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.011813s] ... ok {21} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.004872s] ... ok {21} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.010574s] ... ok {21} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.036652s] ... ok {21} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.008532s] ... ok {21} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.008247s] ... ok {21} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.007323s] ... ok {21} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.007249s] ... ok {21} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.009145s] ... ok {21} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.009417s] ... ok {21} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.004732s] ... ok {21} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.008527s] ... ok {20} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [9.013757s] ... ok {20} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.042855s] ... ok {20} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_up [0.069644s] ... ok {20} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate [0.030400s] ... ok {20} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.008788s] ... ok {20} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.004684s] ... ok {20} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.007252s] ... ok {20} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.004856s] ... ok {20} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.008790s] ... ok {20} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.009020s] ... ok {32} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [40.671613s] ... ok {32} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.013875s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.048315s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.028968s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.042276s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.053143s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.012146s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.042250s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.010537s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.011491s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.042598s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.043033s] ... ok {32} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.028139s] ... ok {32} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.011433s] ... ok {32} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.035240s] ... ok {32} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.028807s] ... ok {32} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.033941s] ... ok {32} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.149631s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.035523s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.097943s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.035850s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.043837s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.046193s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.044369s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.035210s] ... ok {32} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.034795s] ... ok {32} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.032205s] ... ok {32} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.025104s] ... ok {32} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.048452s] ... ok {32} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.060708s] ... ok {32} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.079486s] ... ok {32} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance [0.064291s] ... ok {32} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.008157s] ... ok {32} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.010783s] ... ok {32} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.007634s] ... ok {32} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.007231s] ... ok {32} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.035301s] ... ok {32} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.032526s] ... ok {32} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.063188s] ... ok {32} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.246334s] ... ok {32} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.050415s] ... ok {32} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.008114s] ... ok {32} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.008407s] ... ok {32} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [9.021699s] ... ok {32} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.011770s] ... ok {32} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.039862s] ... ok {32} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device_fail [0.082608s] ... ok {32} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_and_wait_for_state_change_fail [0.078404s] ... ok {32} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.033240s] ... ok {32} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.009783s] ... ok {32} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.007284s] ... ok {32} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.370755s] ... ok {32} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.011954s] ... ok {32} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.005288s] ... ok {32} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.005173s] ... ok {32} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.006942s] ... ok {32} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.008518s] ... ok ====== Totals ====== Ran: 5865 tests in 58.0000 sec. - Passed: 5853 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 680.7505 sec. ============== Worker Balance ============== - Worker 0 (147 tests) => 0:00:14.364512 - Worker 1 (147 tests) => 0:00:32.041083 - Worker 2 (147 tests) => 0:00:10.991217 - Worker 3 (147 tests) => 0:00:08.993811 - Worker 4 (147 tests) => 0:00:09.099856 - Worker 5 (147 tests) => 0:00:14.403372 - Worker 6 (147 tests) => 0:00:09.751341 - Worker 7 (147 tests) => 0:00:11.482880 - Worker 8 (147 tests) => 0:00:12.073872 - Worker 9 (147 tests) => 0:00:23.864271 - Worker 10 (147 tests) => 0:00:25.990644 - Worker 11 (147 tests) => 0:00:15.724813 - Worker 12 (147 tests) => 0:00:12.913283 - Worker 13 (147 tests) => 0:00:15.619673 - Worker 14 (147 tests) => 0:00:13.519164 - Worker 15 (147 tests) => 0:00:10.192810 - Worker 16 (147 tests) => 0:00:11.666918 - Worker 17 (147 tests) => 0:00:11.618944 - Worker 18 (147 tests) => 0:00:12.334944 - Worker 19 (147 tests) => 0:00:13.864705 - Worker 20 (147 tests) => 0:00:39.536693 - Worker 21 (147 tests) => 0:00:33.161135 - Worker 22 (147 tests) => 0:00:27.456207 - Worker 23 (147 tests) => 0:00:20.417992 - Worker 24 (147 tests) => 0:00:25.306970 - Worker 25 (146 tests) => 0:00:10.445773 - Worker 26 (146 tests) => 0:00:11.314132 - Worker 27 (146 tests) => 0:00:13.396165 - Worker 28 (146 tests) => 0:00:16.206372 - Worker 29 (146 tests) => 0:00:11.526033 - Worker 30 (146 tests) => 0:00:17.232948 - Worker 31 (146 tests) => 0:00:17.907536 - Worker 32 (146 tests) => 0:00:57.695603 - Worker 33 (146 tests) => 0:00:10.709926 - Worker 34 (146 tests) => 0:00:13.204853 - Worker 35 (146 tests) => 0:00:16.574934 - Worker 36 (146 tests) => 0:00:20.396561 - Worker 37 (146 tests) => 0:00:20.121758 - Worker 38 (146 tests) => 0:00:11.128990 - Worker 39 (146 tests) => 0:00:11.024555 + exit 0 Processing files: openstack-ironic-common-12.1.6-1.el7.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/lib/python2.7/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.6qulHc + umask 022 + cd /builddir/build/BUILD + cd ironic-12.1.6 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/share/doc/openstack-ironic-common-12.1.6 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/share/doc/openstack-ironic-common-12.1.6 + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/share/doc/openstack-ironic-common-12.1.6 + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.VGe44o + umask 022 + cd /builddir/build/BUILD + cd ironic-12.1.6 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/share/licenses/openstack-ironic-common-12.1.6 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/share/licenses/openstack-ironic-common-12.1.6 + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch/usr/share/licenses/openstack-ironic-common-12.1.6 + exit 0 Provides: config(openstack-ironic-common) = 1:12.1.6-1.el7 openstack-ironic-common = 1:12.1.6-1.el7 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/python2 python(abi) = 2.7 Processing files: openstack-ironic-api-12.1.6-1.el7.noarch Provides: openstack-ironic-api = 1:12.1.6-1.el7 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 systemd Requires(preun): /bin/sh systemd Requires(postun): /bin/sh systemd Requires: /usr/bin/python2 Processing files: openstack-ironic-conductor-12.1.6-1.el7.noarch Provides: openstack-ironic-conductor = 1:12.1.6-1.el7 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 systemd Requires(preun): /bin/sh systemd Requires(postun): /bin/sh systemd Requires: /usr/bin/python2 Processing files: python2-ironic-tests-12.1.6-1.el7.noarch Provides: python-ironic-tests = 1:12.1.6-1.el7 python2-ironic-tests = 1:12.1.6-1.el7 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) = 2.7 Obsoletes: python-ironic-tests < 1:12.1.6-1.el7 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch Wrote: /builddir/build/RPMS/openstack-ironic-common-12.1.6-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-api-12.1.6-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-12.1.6-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/python2-ironic-tests-12.1.6-1.el7.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.Dqt6lO + umask 022 + cd /builddir/build/BUILD + cd ironic-12.1.6 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-12.1.6-1.el7.noarch + exit 0 Child return code was: 0