Mock Version: 1.2.17 Mock Version: 1.2.17 ENTER ['do'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target noarch --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/cloud7-openstack-queens-el7-build-49066-151297/root'shell=FalseprintOutput=Falseenv={'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;\x07"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'}gid=135user='mockbuild'timeout=86400logger=uid=996) 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', 'PROMPT_COMMAND': 'printf "\x1b]0;\x07"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False Building target platforms: noarch Building for target noarch Wrote: /builddir/build/SRPMS/openstack-ironic-10.1.4-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'], chrootPath='/var/lib/mock/cloud7-openstack-queens-el7-build-49066-151297/root'shell=Falseuid=996env={'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;\x07"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'}gid=135user='mockbuild'timeout=86400private_network=Truelogger=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', 'PROMPT_COMMAND': 'printf "\x1b]0;\x07"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.OvxBjo + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-10.1.4 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-10.1.4.tar.gz + /usr/bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-10.1.4 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + 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.Zji8q0 + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.4 + /usr/bin/python2 setup.py build 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/utils.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_bios.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_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_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/__init__.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/test_snmp.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_console_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_cache.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_iscsi_deploy.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base_vendor.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_agent_client.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/utils.py -> build/lib/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor copying ironic/conductor/manager.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/image_service.py -> build/lib/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/__init__.py -> build/lib/ironic/common/glance_service/v2 creating build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage creating build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules/oneview creating build/lib/ironic/tests/unit/db creating build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/utils.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_volume_connectors.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_portgroups.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_ports.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_targets.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_conductor.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/__init__.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_traits.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_api.py -> build/lib/ironic/tests/unit/db creating 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 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 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_notification_utils.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_portgroup.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_root.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_utils.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_driver.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_port.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/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume.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/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic creating build/lib/ironic/drivers creating build/lib/ironic/drivers/modules creating build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible creating build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.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_pxe_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.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_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_wsgi_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc.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_neutron.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_image_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/agent.py -> build/lib/ironic/drivers copying ironic/drivers/pxe.py -> build/lib/ironic/drivers copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/cisco_ucs.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/oneview.py -> build/lib/ironic/drivers copying ironic/drivers/fake.py -> build/lib/ironic/drivers creating 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 copying ironic/tests/unit/drivers/modules/cimc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/cimc creating build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/helper.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/__init__.py -> build/lib/ironic/drivers/modules/ucs creating build/lib/ironic/common/glance_service/v1 copying ironic/common/glance_service/v1/image_service.py -> build/lib/ironic/common/glance_service/v1 copying ironic/common/glance_service/v1/__init__.py -> build/lib/ironic/common/glance_service/v1 copying ironic/drivers/modules/iscsi_deploy.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_base_vendor.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspector.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/deploy_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules creating 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/chassis.py -> build/lib/ironic/objects copying ironic/objects/volume_connector.py -> build/lib/ironic/objects copying ironic/objects/conductor.py -> build/lib/ironic/objects copying ironic/objects/base.py -> build/lib/ironic/objects copying ironic/objects/fields.py -> build/lib/ironic/objects copying ironic/objects/portgroup.py -> build/lib/ironic/objects copying ironic/objects/notification.py -> build/lib/ironic/objects copying ironic/objects/__init__.py -> build/lib/ironic/objects copying ironic/objects/node.py -> build/lib/ironic/objects copying ironic/objects/trait.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/common/release_mappings.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/fsm.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/service.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/raid.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/pxe_utils.py -> build/lib/ironic/common copying ironic/common/neutron.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/wsgi_service.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common creating build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test__mgr_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.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_task_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor creating build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/management.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/power.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/common.py -> build/lib/ironic/drivers/modules/xclarity creating build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api copying ironic/api/app.py -> build/lib/ironic/api copying ironic/api/expose.py -> build/lib/ironic/api copying ironic/api/hooks.py -> build/lib/ironic/api copying ironic/api/__init__.py -> build/lib/ironic/api copying ironic/api/wsgi.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/__init__.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/management.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/power.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/__init__.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/common.py -> build/lib/ironic/drivers/modules/cimc copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.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/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/port.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/collection.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.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/chassis.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/volume_connector.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/notification_utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/portgroup.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/ramdisk.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.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/node.py -> build/lib/ironic/api/controllers/v1 creating 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_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_inspect.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_common.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo creating build/lib/ironic/db copying ironic/db/migration.py -> build/lib/ironic/db copying ironic/db/__init__.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db 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/flat.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.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 creating build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_conductor.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib/ironic/tests/unit/cmd creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf copying ironic/common/glance_service/service.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/__init__.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service creating build/lib/ironic/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/__init__.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy copying ironic/tests/unit/api/utils.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_root.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_audit.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/base.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_hooks.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_acl.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/test_boot.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_inspect.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc creating build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_trait.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/utils.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_portgroup.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_target.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_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_port.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/__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_volume_connector.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_chassis.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_fields.py -> build/lib/ironic/tests/unit/objects creating 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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish creating build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/inspect.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/vendor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.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/boot.py -> build/lib/ironic/drivers/modules/ilo creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers creating build/lib/ironic/cmd copying ironic/cmd/dbsync.py -> build/lib/ironic/cmd copying ironic/cmd/conductor.py -> build/lib/ironic/cmd copying ironic/cmd/__init__.py -> build/lib/ironic/cmd copying ironic/cmd/api.py -> build/lib/ironic/cmd copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit creating build/lib/ironic/conf copying ironic/conf/cisco.py -> build/lib/ironic/conf copying ironic/conf/ilo.py -> build/lib/ironic/conf copying ironic/conf/ipmi.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/xclarity.py -> build/lib/ironic/conf copying ironic/conf/opts.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/keystone.py -> build/lib/ironic/conf copying ironic/conf/drac.py -> build/lib/ironic/conf copying ironic/conf/irmc.py -> build/lib/ironic/conf copying ironic/conf/audit.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/metrics_statsd.py -> build/lib/ironic/conf copying ironic/conf/iscsi.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/service_catalog.py -> build/lib/ironic/conf copying ironic/conf/swift.py -> build/lib/ironic/conf copying ironic/conf/metrics.py -> build/lib/ironic/conf copying ironic/conf/neutron.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/conf/redfish.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/snmp.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/glance.py -> build/lib/ironic/conf copying ironic/conf/oneview.py -> build/lib/ironic/conf creating build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/inspect.py -> build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/deploy.py -> build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/management.py -> build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/power.py -> build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/__init__.py -> build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/common.py -> build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/deploy_utils.py -> build/lib/ironic/drivers/modules/oneview creating build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/drivers/test_xclarity.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_fake.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_snmp.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_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_generic.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/third_party_driver_mock_specs.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_oneview.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_ilo.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_pxe.py -> build/lib/ironic/tests/unit/drivers creating 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 copying ironic/dhcp/__init__.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/inspect.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/management.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/job.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/common.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac 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/cinder.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/tests/__init__.py -> build/lib/ironic/tests creating build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_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 copying ironic/tests/unit/drivers/modules/xclarity/__init__.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/test_noop.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_neutron.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.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/locale creating build/lib/ironic/locale/ja creating build/lib/ironic/locale/ja/LC_MESSAGES copying ironic/locale/ja/LC_MESSAGES/ironic.po -> build/lib/ironic/locale/ja/LC_MESSAGES 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/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/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/789acc877671_add_raid_config.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/b4130a7fc904_create_nodetraits_table.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/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/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/f6fdb920c182_set_pxe_enabled_true.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.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_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 + /usr/bin/python2 setup.py compile_catalog -d build/lib/ironic/locale running compile_catalog compiling catalog build/lib/ironic/locale/ja/LC_MESSAGES/ironic.po to build/lib/ironic/locale/ja/LC_MESSAGES/ironic.mo + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.gZhW4H + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch ++ dirname /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch + cd ironic-10.1.4 + /usr/bin/python2 setup.py install -O1 --skip-build --root=/builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7 creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/functional copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conf creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/test_nodes.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/test_hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test__mgr_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_fake.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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_volumes.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib/ironic/tests/unit/drivers/modules/oneview/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib/ironic/tests/unit/drivers/modules/oneview/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib/ironic/tests/unit/drivers/modules/oneview/test_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib/ironic/tests/unit/drivers/modules/oneview/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib/ironic/tests/unit/drivers/modules/oneview/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib/ironic/tests/unit/drivers/modules/oneview/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib/ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_generic.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_oneview.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/raid_constants.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/stubs.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/cisco.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/iscsi.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf copying build/lib/ironic/conf/oneview.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/api.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v1 copying build/lib/ironic/common/glance_service/v1/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v1 copying build/lib/ironic/common/glance_service/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v1 copying build/lib/ironic/common/glance_service/service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v2 copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/service_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/expose.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/root.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/app.wsgi -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/oneview/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/oneview/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/oneview/management.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/oneview/power.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/oneview/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/oneview/common.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/oneview/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/agent_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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/ansible.cfg -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/inventory -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/cisco_ucs.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/oneview.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/ja creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/ja/LC_MESSAGES copying build/lib/ironic/locale/ja/LC_MESSAGES/ironic.mo -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/ja/LC_MESSAGES copying build/lib/ironic/locale/ja/LC_MESSAGES/ironic.po -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/ja/LC_MESSAGES byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/functional/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor/test__mgr_utils.py to test__mgr_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_fake.py to test_fake.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview/test_management.py to test_management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview/test_inspect.py to test_inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy.py to test_deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview/test_power.py to test_power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview/test_common.py to test_common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py to test_deploy_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_oneview.py to test_oneview.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/test_pxe.py to test_pxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/stubs.py to stubs.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/cisco.py to cisco.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/ilo.py to ilo.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/ipmi.py to ipmi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/ansible.py to ansible.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/xclarity.py to xclarity.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/opts.py to opts.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/console.py to console.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/auth.py to auth.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/keystone.py to keystone.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/drac.py to drac.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/irmc.py to irmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/audit.py to audit.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/conductor.py to conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/agent.py to agent.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/iscsi.py to iscsi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/deploy.py to deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/pxe.py to pxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/swift.py to swift.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/metrics.py to metrics.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/neutron.py to neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/cinder.py to cinder.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/redfish.py to redfish.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/inspector.py to inspector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/database.py to database.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/snmp.py to snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/default.py to default.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/dhcp.py to dhcp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/api.py to api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/glance.py to glance.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf/oneview.py to oneview.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/models.py to models.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/migration.py to migration.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/api.py to api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/migration.py to migration.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/api.py to api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/version.py to version.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/config.py to config.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/fsm.py to fsm.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/states.py to states.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/service.py to service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/keystone.py to keystone.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/network.py to network.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/raid.py to raid.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/exception.py to exception.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/i18n.py to i18n.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/policy.py to policy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v1/image_service.py to image_service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v1/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/service.py to service.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/swift.py to swift.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/images.py to images.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/neutron.py to neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/cinder.py to cinder.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/profiler.py to profiler.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/rpc.py to rpc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/context.py to context.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/config.py to config.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/app.py to app.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/expose.py to expose.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/link.py to link.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/root.py to root.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/hooks.py to hooks.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/wsgi.py to wsgi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/dbsync.py to dbsync.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/conductor.py to conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd/api.py to api.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/none.py to none.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/neutron.py to neutron.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/port.py to port.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/chassis.py to chassis.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/conductor.py to conductor.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/fields.py to fields.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/portgroup.py to portgroup.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/notification.py to notification.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/node.py to node.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/trait.py to trait.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects/indirection.py to indirection.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/rpcapi.py to rpcapi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor/manager.py to manager.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/ilo.py to ilo.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/ipmi.py to ipmi.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/utils.py to utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/xclarity.py to xclarity.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/generic.py to generic.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview/inspect.py to inspect.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview/deploy.py to deploy.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview/management.py to management.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview/power.py to power.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview/common.py to common.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview/deploy_utils.py to deploy_utils.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent.py to agent.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/noop.py to noop.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/pxe.py to pxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/inspector.py to inspector.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/snmp.py to snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ipmitool.py to ipmitool.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/fake.py to fake.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/drac.py to drac.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/irmc.py to irmc.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/agent.py to agent.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/pxe.py to pxe.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/base.py to base.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/redfish.py to redfish.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/snmp.py to snmp.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-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-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/oneview.py to oneview.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/fake.py to fake.pyc writing byte-compilation script '/tmp/tmp4md2Mr.py' /usr/bin/python2 -O /tmp/tmp4md2Mr.py removing /tmp/tmp4md2Mr.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-images.filters -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-lib.filters -> /builddir/build/BUILDROOT/openstack-ironic-10.1.4-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-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic-10.1.4-py2.7.egg-info running install_scripts Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/bin Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/bin + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/etc/ironic/rootwrap.d + export PYTHONPATH=. + PYTHONPATH=. + oslo-config-generator --config-file tools/config/ironic-config-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch//etc/ironic/ironic.conf + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch//etc/ironic/policy.json + mv /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-images.filters /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-lib.filters /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch//usr/share/ironic/ironic-dist.conf + install -d -m 755 /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share + rm -f /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/ja/LC_MESSAGES/ironic.po + rm -f '/builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/*pot' + mv /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share/locale + /usr/lib/rpm/find-lang.sh /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch ironic --all-name + /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-10.1.4 /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-10.1.4-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.1DKVgU + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.4 + ostestr --path ironic/tests/unit 2018-08-14 14:39:37.119 29004 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.142 29003 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.138 29006 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.151 29005 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.152 29007 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.192 29008 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.195 29014 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.173 29010 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.194 29009 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.200 29013 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.199 29011 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.269 29021 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.246 29015 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.256 29023 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.256 29012 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.266 29018 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.273 29016 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.301 29017 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.300 29020 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.307 29022 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.307 29025 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.341 29026 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.333 29029 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.349 29031 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.348 29027 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.336 29019 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.354 29024 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.368 29028 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.381 29034 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.391 29030 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.419 29033 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:37.436 29032 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-08-14 14:39:42.864 29019 INFO alembic.runtime.migration [req-7e791eff-b70d-40ac-91ba-c99a9aae20bd - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:42.865 29019 INFO alembic.runtime.migration [req-7e791eff-b70d-40ac-91ba-c99a9aae20bd - - - - -] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 {16} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.262271s] ... ok DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-26eddfcb-b4b9-4deb-bcc1-b642f17dadbc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.114035s] ... ok GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'ad0e0313-431c-443e-916e-4c98de5b56c2', u'links': [{u'href': u'http://localhost/v1/chassis/ad0e0313-431c-443e-916e-4c98de5b56c2', u'rel': u'self'}, {u'href': u'http://localhost/chassis/ad0e0313-431c-443e-916e-4c98de5b56c2', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'b5ffcc68-4e5e-4802-9f9b-2342e0a2c204', u'links': [{u'href': u'http://localhost/v1/chassis/b5ffcc68-4e5e-4802-9f9b-2342e0a2c204', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b5ffcc68-4e5e-4802-9f9b-2342e0a2c204', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'0229880d-9aa5-480e-a8a1-8507ba1645fd', u'links': [{u'href': u'http://localhost/v1/chassis/0229880d-9aa5-480e-a8a1-8507ba1645fd', u'rel': u'self'}, {u'href': u'http://localhost/chassis/0229880d-9aa5-480e-a8a1-8507ba1645fd', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}], u'next': u'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&limit=3&marker=0229880d-9aa5-480e-a8a1-8507ba1645fd'} {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.109546s] ... ok GET: /v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd {} GOT:{u'uuid': u'31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'links': [{u'href': u'http://foo/v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'rel': u'self'}, {u'href': u'http://foo/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:43.235460+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd {} GOT:{u'uuid': u'31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'links': [{u'href': u'http://foo/v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'rel': u'self'}, {u'href': u'http://foo/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:43.235460+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd {} GOT:{u'uuid': u'31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'links': [{u'href': u'http://foo/v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'rel': u'self'}, {u'href': u'http://foo/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:43.235460+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/31080856-894b-4ff2-bb62-e5eda3a5c3bd/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.115430s] ... 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-39aa2317-61f1-46a6-9f0a-86a397331151 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2"}, "created_at": "2018-08-14T14:39:43.346302+00:00", "updated_at": "2018-08-14T14:39:43.383388+00:00", "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'bar2'}, u'created_at': u'2018-08-14T14:39:43.346302+00:00', u'updated_at': u'2018-08-14T14:39:43.383388+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'} {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.111116s] ... ok PATCH: /v1/chassis/d094a072-5b56-4e58-858b-09d9956207a7 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2bef5050-dee0-46c3-b09f-03a0be4b3ac5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d094a072-5b56-4e58-858b-09d9956207a7", "links": [{"href": "http://localhost/v1/chassis/d094a072-5b56-4e58-858b-09d9956207a7", "rel": "self"}, {"href": "http://localhost/chassis/d094a072-5b56-4e58-858b-09d9956207a7", "rel": "bookmark"}], "extra": {"a": "b"}, "created_at": "2018-08-14T14:39:43.483283+00:00", "updated_at": "2018-08-14T14:39:43.508510+00:00", "nodes": [{"href": "http://localhost/v1/chassis/d094a072-5b56-4e58-858b-09d9956207a7/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d094a072-5b56-4e58-858b-09d9956207a7/nodes", "rel": "bookmark"}], "description": null} GET: /v1/chassis/d094a072-5b56-4e58-858b-09d9956207a7 {} GOT:{u'uuid': u'd094a072-5b56-4e58-858b-09d9956207a7', u'links': [{u'href': u'http://localhost/v1/chassis/d094a072-5b56-4e58-858b-09d9956207a7', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d094a072-5b56-4e58-858b-09d9956207a7', u'rel': u'bookmark'}], u'extra': {u'a': u'b'}, u'created_at': u'2018-08-14T14:39:43.483283+00:00', u'updated_at': u'2018-08-14T14:39:43.508510+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/d094a072-5b56-4e58-858b-09d9956207a7/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d094a072-5b56-4e58-858b-09d9956207a7/nodes', u'rel': u'bookmark'}], u'description': None} {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.107943s] ... ok GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} {16} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.150725s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.174040s] ... ok DELETE: /v1/nodes/doesntexist/vifs/a1f7cea1-fba8-49a1-be9a-06cf08c8fa97 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-097334d2-4806-48ca-a46a-71937b7a3d39 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.111201s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9aa7e95-fb09-4e45-98d5-326c8f9428b3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.073242s] ... 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-8e42467a-da6b-484c-8044-4605eb382b6d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:44.100019+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"}]} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.140033s] ... ok PATCH: /v1/nodes/67b5012f-2564-4c2a-b2f7-e183e0372151 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecfaa674-d31b-4f88-8e51-336860d656db X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/67b5012f-2564-4c2a-b2f7-e183e0372151", "rel": "self"}, {"href": "http://localhost/nodes/67b5012f-2564-4c2a-b2f7-e183e0372151", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/67b5012f-2564-4c2a-b2f7-e183e0372151/states", "rel": "self"}, {"href": "http://localhost/nodes/67b5012f-2564-4c2a-b2f7-e183e0372151/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "67b5012f-2564-4c2a-b2f7-e183e0372151", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:44.282731+00:00", "ports": [{"href": "http://localhost/v1/nodes/67b5012f-2564-4c2a-b2f7-e183e0372151/ports", "rel": "self"}, {"href": "http://localhost/nodes/67b5012f-2564-4c2a-b2f7-e183e0372151/ports", "rel": "bookmark"}], "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_resource_class_max_length [0.159714s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '6199339e-687d-4912-b70e-2c3ecaeaa32d'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-174a40d6-e69f-4745-ae52-ef6fe1b5faec X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 6199339e-687d-4912-b70e-2c3ecaeaa32d with driver fake, these node fields must be set to None: boot_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '21b2c085-e7b6-4a6a-ad93-3fd7fa8d90f8'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-150a3735-5b21-42fd-ac54-d92a00b5a9ae X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 21b2c085-e7b6-4a6a-ad93-3fd7fa8d90f8 with driver fake, these node fields must be set to None: console_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '4c11350d-dc97-4ddf-975d-0b40ae7abe9e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-34d0b555-1da7-45b5-afe4-90417082761b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 4c11350d-dc97-4ddf-975d-0b40ae7abe9e with driver fake, these node fields must be set to None: deploy_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '095c2c57-931c-41c0-bd47-c0001c1fc5d8'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e8636d5e-8342-4a16-9f73-f76b84239421 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 095c2c57-931c-41c0-bd47-c0001c1fc5d8 with driver fake, these node fields must be set to None: inspect_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '43236b03-fd45-4c77-a09c-272610a0e2f0'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46f82b8e-92b0-42bb-a558-630255db4673 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 43236b03-fd45-4c77-a09c-272610a0e2f0 with driver fake, these node fields must be set to None: management_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'power_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': 'bd01572b-d22f-4663-93e1-968ef52de2ae'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-715a4155-21e8-4376-b11d-16e6b3302437 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node bd01572b-d22f-4663-93e1-968ef52de2ae with driver fake, these node fields must be set to None: power_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '0a9e6ca6-4d16-4ec4-959e-565f8ae8b6e2'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d28eb91-ca12-443a-8e7d-2801891cd118 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 0a9e6ca6-4d16-4ec4-959e-565f8ae8b6e2 with driver fake, these node fields must be set to None: raid_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake', 'uuid': '6d582cf7-beb6-49c6-b230-f06349973ada'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-abf975a5-758c-4c03-af34-fb754dadd45d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 6d582cf7-beb6-49c6-b230-f06349973ada with driver fake, these node fields must be set to None: vendor_interface.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_classic_driver_specify_interface [0.349772s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': 'maintenance', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 2018-08-14 14:39:45.035 29003 INFO alembic.runtime.migration [req-11d57df7-6cb8-4fb0-a699-a3f4c6b0e38f - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.036 29003 INFO alembic.runtime.migration [req-11d57df7-6cb8-4fb0-a699-a3f4c6b0e38f - - - - -] Will assume non-transactional DDL. 2018-08-14 14:39:45.049 29005 INFO alembic.runtime.migration [req-8e152dc5-d165-43a0-8b15-0d44419528eb - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.050 29005 INFO alembic.runtime.migration [req-8e152dc5-d165-43a0-8b15-0d44419528eb - - - - -] Will assume non-transactional DDL. GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-97d4cbd8-bbf7-48a2-8036-d20709b84feb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'management', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84ccc073-9317-41d1-a18c-238fb0b3e99f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'states', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d68b9c21-87f0-471f-a2a4-c9f8eb693425 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'vendor_passthru', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9f33b0d8-dc80-4e43-98ba-21878cd33d17 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'validate', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cb29598a-fb9c-47a6-8e36-8dff29b8e51e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': 'detail', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ad16ed7-200b-415a-b924-0520d81fb9c9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.160409s] ... ok POST: /v1/nodes/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4677834f-3852-49db-a0d6-d245b17d17be X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node. Value: 'ports'. unable to convert to Node. Error: __init__() takes exactly 1 argument (2 given)\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.062853s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. 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,)) /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. The database is not compatible with this release of ironic (10.1.4). Please run "ironic-dbsync online_data_migrations" using the previous release. /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,)) /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] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 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-795f5e15-109d-4696-9ed0-b9d7982451a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.077877s] ... ok GET: /v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928 {} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} 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-dd0f4e9d-625b-4159-9fb7-26fde1256989 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.105482s] ... ok GOT:{u'uuid': u'6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'links': [{u'href': u'http://localhost/v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'rel': u'self'}, {u'href': u'http://localhost/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:45.166822+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928 {} GOT:{u'uuid': u'6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'links': [{u'href': u'http://localhost/v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'rel': u'self'}, {u'href': u'http://localhost/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:45.166822+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928 {} GOT:{u'uuid': u'6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'links': [{u'href': u'http://localhost/v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'rel': u'self'}, {u'href': u'http://localhost/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:45.166822+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/6df7e1cf-807a-4fbf-a1aa-8075eb488928/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.307497s] ... 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-034359a6-4063-456d-b67c-f0e336718f92 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-07c94eb4-59de-48e1-952b-ea261c9ae2f5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-854a2589-6bcd-4bd7-a391-d3b57c4c5e29 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0ba496e4-dcbc-409e-bc7b-8df64359e865 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5fef97cb-7815-4c4a-b462-8e3ceff796d8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.278201s] ... 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-dba80835-9fb2-4e81-9375-6f5a7a7c9e01 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.064552s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aec194fc-c4fd-4095-80c3-6673d6a298ce X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.064346s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-67f33b68-aba0-48e3-bda9-88a371703473 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.089997s] ... 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-1bd80099-205b-4a73-bb5d-f6514cef65d2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.073003s] ... ok GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:45.247535+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'} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.381772s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'e083bc03-2990-430e-ae34-33f00fb1981d', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'a5648016-dfd4-4cab-b704-f3eccf501e65', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f0fdc81-21e0-4f79-952b-1317af2fc095 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "a5648016-dfd4-4cab-b704-f3eccf501e65", "updated_at": "2018-08-14T14:39:45.746874+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-08-14T14:39:45.661370+00:00"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.146638s] ... ok 2018-08-14 14:39:45.062 29018 INFO alembic.runtime.migration [req-e8e22ed4-09bb-4999-851c-3996ea05a80d - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.063 29018 INFO alembic.runtime.migration [req-e8e22ed4-09bb-4999-851c-3996ea05a80d - - - - -] Will assume non-transactional DDL. {15} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.193549s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_init [0.013665s] ... ok GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ac47c91-ad89-4f50-80c1-0ac4112577de X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute associated. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.115804s] ... ok GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0094ebdb-46fb-429b-ae6a-0eb9647ac351 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.045860s] ... ok GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]} {15} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.127069s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.076294s] ... ok GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-556aafdb-5ffa-4cc0-b70e-e69ca539f8e1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.068044s] ... 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'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-53e368dd-af54-4f5f-a96b-9a67c63ac643 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} 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': {}} PATCH: /v1/chassis/96a4bff8-4d91-4117-8768-99e68b75cc5a [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-035a11b9-f8d4-409d-8891-24a895473e43 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 96a4bff8-4d91-4117-8768-99e68b75cc5a could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.055735s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '464fa3a6-ad75-4dc9-85a1-a8ab8e89b69d'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-b1485b67-6572-49fe-b083-e079c00edfe9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.071273s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.106383s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.094400s] ... ok GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-85283087-efc0-480b-8e83-ed8f5a49a2b9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.023278s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.045194s] ... 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': '6e7e24d9-4b1a-488e-8cac-780288fd949f'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-65aa2350-5dcd-4cae-9657-c24b668ac8df X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "6e7e24d9-4b1a-488e-8cac-780288fd949f"}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:45.988372+00:00"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.149130s] ... ok GET: /v1/nodes/node.json.json {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': u'node.json', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.587554+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.086500s] ... ok Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 457, in fire_timers timer() File "/usr/lib/python2.7/site-packages/eventlet/hubs/timer.py", line 58, in __call__ cb(*args, **kw) File "/builddir/build/BUILD/ironic-10.1.4/ironic/drivers/modules/inspector.py", line 162, in _start_inspection purpose=lock_purpose) as task: File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 165, in acquire return TaskManager(context, node_id, shared=shared, purpose=purpose) File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 238, in __init__ self.release_resources() File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 222, in __init__ self._lock() File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 270, in _lock reserve_node() File "/usr/lib/python2.7/site-packages/retrying.py", line 68, in wrapped_f return Retrying(*dargs, **dkw).call(f, *args, **kw) File "/usr/lib/python2.7/site-packages/retrying.py", line 223, in call return attempt.get(self._wrap_exception) File "/usr/lib/python2.7/site-packages/retrying.py", line 261, in get six.reraise(self.value[0], self.value[1], self.value[2]) File "/usr/lib/python2.7/site-packages/retrying.py", line 217, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 263, in reserve_node self.node_id) File "/builddir/build/BUILD/ironic-10.1.4/ironic/objects/node.py", line 312, in reserve db_node = cls.dbapi.reserve_node(tag, node_id) File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 147, in wrapper ectxt.value = e.inner_exc File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 135, in wrapper return f(*args, **kwargs) File "/builddir/build/BUILD/ironic-10.1.4/ironic/db/sqlalchemy/api.py", line 305, in reserve_node raise exception.NodeNotFound(node_id) NodeNotFound: 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-2f222464-8d5f-45d9-9a1a-e811bf1b87e3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {15} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.077850s] ... ok GET: /v1/nodes?instance_uuid=5d4c8436-d48c-4874-889a-28b308368667 {} GOT:{u'nodes': []} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.068107s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-430661ff-eb10-4551-8a1f-98759e7eebd8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:46.129825+00:00"} 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'} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e80e57a7-7813-4c3c-ba7f-5f490d3f6759 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.131760s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.070398s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.040614s] ... ok PUT: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-e6cb6556-c4f8-455c-9b85-4f7f21967e71 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null 2018-08-14 14:39:45.115 29015 INFO alembic.runtime.migration [req-df4345e4-bd3e-4dc3-bbe4-9a16c73418a8 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.116 29015 INFO alembic.runtime.migration [req-df4345e4-bd3e-4dc3-bbe4-9a16c73418a8 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:45.249745+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'} {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.292831s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-050465a0-d1db-4886-bce1-ccfc55a701ed X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.058078s] ... ok 2018-08-14 14:39:45.328 29022 INFO alembic.runtime.migration [req-1d454792-234d-4d55-8d07-40f4a44ab3e6 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.329 29022 INFO alembic.runtime.migration [req-1d454792-234d-4d55-8d07-40f4a44ab3e6 - - - - -] Will assume non-transactional DDL. {19} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.208981s] ... ok 2018-08-14 14:39:45.112 29013 INFO alembic.runtime.migration [req-632fe8ef-9827-465b-bd39-58d345ec31f6 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.112 29013 INFO alembic.runtime.migration [req-632fe8ef-9827-465b-bd39-58d345ec31f6 - - - - -] Will assume non-transactional DDL. 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': {}} POST: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d2989b8-ffdf-40b4-abed-ecf1d3ad5692 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.086271s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-99b7d384-705b-4e99-9058-6b012d07ebb7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {10} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.284173s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e9954d6b-221e-4f08-a075-b585749bd751 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.077864s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.038332s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.029510s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.058736s] ... ok 2018-08-14 14:39:45.164 29008 INFO alembic.runtime.migration [req-252fe9d5-cef8-492a-87a8-4df62d9f408c - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.165 29008 INFO alembic.runtime.migration [req-252fe9d5-cef8-492a-87a8-4df62d9f408c - - - - -] Will assume non-transactional DDL. 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-60dbb912-df64-4cca-90c5-60829dd655f2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2018-08-14T14:39:45.318250+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'2018-08-14T14:39:45.318250+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'} {5} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.293128s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.030901s] ... 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-f19c88cb-1428-4f7c-9d63-4ba73300123a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.067712s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9cae97e2-9ed5-4242-839b-7019220bc4b1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.147600s] ... 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-1c235224-65c4-4d01-badd-a8971effce1a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: '1334'. Value should be string\"}"} {5} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.040407s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} 2018-08-14 14:39:45.225 29006 INFO alembic.runtime.migration [req-cbb46e93-1740-4545-ab14-0ba544aebcbd - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.226 29006 INFO alembic.runtime.migration [req-cbb46e93-1740-4545-ab14-0ba544aebcbd - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/?limit=3 {} GOT:{u'chassis': [{u'uuid': u'a1f2aa96-5ec0-4fb9-9f57-9e67162b2d82', u'links': [{u'href': u'http://localhost/v1/chassis/a1f2aa96-5ec0-4fb9-9f57-9e67162b2d82', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a1f2aa96-5ec0-4fb9-9f57-9e67162b2d82', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'585b04c5-cac1-475c-b21d-19ed9a4a71e0', u'links': [{u'href': u'http://localhost/v1/chassis/585b04c5-cac1-475c-b21d-19ed9a4a71e0', u'rel': u'self'}, {u'href': u'http://localhost/chassis/585b04c5-cac1-475c-b21d-19ed9a4a71e0', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'dd62082e-1cee-4e67-9be2-b16de974b417', u'links': [{u'href': u'http://localhost/v1/chassis/dd62082e-1cee-4e67-9be2-b16de974b417', u'rel': u'self'}, {u'href': u'http://localhost/chassis/dd62082e-1cee-4e67-9be2-b16de974b417', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}], u'next': u'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&limit=3&marker=dd62082e-1cee-4e67-9be2-b16de974b417'} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.348818s] ... 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:{} 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-d82d93f5-57bb-4b67-aa3c-eec6bf455fb7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2018-08-14T14:39:45.359887+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2018-08-14T14:39:45.359887+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'} {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.052117s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.073045s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.146008s] ... ok GET: /v1/drivers {} GOT:{u'drivers': []} 2018-08-14 14:39:45.176 29023 INFO alembic.runtime.migration [req-fd36b61c-dc6d-480f-999d-b34c4b8cabe1 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.177 29023 INFO alembic.runtime.migration [req-fd36b61c-dc6d-480f-999d-b34c4b8cabe1 - - - - -] Will assume non-transactional DDL. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 457, in fire_timers timer() File "/usr/lib/python2.7/site-packages/eventlet/hubs/timer.py", line 58, in __call__ cb(*args, **kw) File "/builddir/build/BUILD/ironic-10.1.4/ironic/drivers/modules/inspector.py", line 162, in _start_inspection purpose=lock_purpose) as task: File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 165, in acquire return TaskManager(context, node_id, shared=shared, purpose=purpose) File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 238, in __init__ self.release_resources() File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 222, in __init__ self._lock() File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 270, in _lock reserve_node() File "/usr/lib/python2.7/site-packages/retrying.py", line 68, in wrapped_f return Retrying(*dargs, **dkw).call(f, *args, **kw) File "/usr/lib/python2.7/site-packages/retrying.py", line 223, in call return attempt.get(self._wrap_exception) File "/usr/lib/python2.7/site-packages/retrying.py", line 261, in get six.reraise(self.value[0], self.value[1], self.value[2]) File "/usr/lib/python2.7/site-packages/retrying.py", line 217, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) File "/builddir/build/BUILD/ironic-10.1.4/ironic/conductor/task_manager.py", line 263, in reserve_node self.node_id) File "/builddir/build/BUILD/ironic-10.1.4/ironic/objects/node.py", line 312, in reserve db_node = cls.dbapi.reserve_node(tag, node_id) File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 147, in wrapper ectxt.value = e.inner_exc File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 135, in wrapper return f(*args, **kwargs) File "/builddir/build/BUILD/ironic-10.1.4/ironic/db/sqlalchemy/api.py", line 305, in reserve_node raise exception.NodeNotFound(node_id) NodeNotFound: 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {12} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.052187s] ... ok {20} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.202096s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '27b610a1-772e-4640-82a0-98832fbefc17'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8bc507af-f51a-4bad-ad26-9a65841a57b9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: id\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.066149s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_sample [0.014487s] ... ok GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50cbdeed-cecb-42f4-969b-87343e151ecb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\"}"} GET: /v1/drivers/fake-driver1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8bf1fe65-c81f-4155-8bb4-fdea08a2a369 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driver1.\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.048275s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.067400s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.056930s] ... ok GET: /v1/chassis {} GOT:{u'chassis': []} /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,)) {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.044727s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.031145s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.093518s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.023540s] ... ok GET: /v1/drivers?type=dynamic {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}]} POST: /v1/nodes/node-39/vifs {'id': '04b82a4e-a669-4bae-aaba-a5588e2c416e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7f8dc43f-8a25-43f4-9681-06665a96b90f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"boom\"}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.068784s] ... ok 2018-08-14 14:39:46.078 29029 INFO alembic.runtime.migration [req-872d961d-1bed-4c94-baac-36227bc156d3 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:46.079 29029 INFO alembic.runtime.migration [req-872d961d-1bed-4c94-baac-36227bc156d3 - - - - -] Will assume non-transactional DDL. {26} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.206241s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-04023c66-1e43-40ba-a2d7-6a3802168648 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} 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-bebf71ed-7a67-4e96-b1a0-aa78f1207852 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} GET: /v1/portgroups/detail?sort_key=mode {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'14b3b608-69ea-4136-af04-c8db5692d2e4', u'links': [{u'href': u'http://localhost/v1/portgroups/14b3b608-69ea-4136-af04-c8db5692d2e4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/14b3b608-69ea-4136-af04-c8db5692d2e4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.289654+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/14b3b608-69ea-4136-af04-c8db5692d2e4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/14b3b608-69ea-4136-af04-c8db5692d2e4/ports', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'4a02b2e8-ecc6-45ff-82e8-19edac7c8681', u'links': [{u'href': u'http://localhost/v1/portgroups/4a02b2e8-ecc6-45ff-82e8-19edac7c8681', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/4a02b2e8-ecc6-45ff-82e8-19edac7c8681', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.285397+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/4a02b2e8-ecc6-45ff-82e8-19edac7c8681/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/4a02b2e8-ecc6-45ff-82e8-19edac7c8681/ports', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'f02bb977-a5ef-4454-8885-156869a4ba78', u'links': [{u'href': u'http://localhost/v1/portgroups/f02bb977-a5ef-4454-8885-156869a4ba78', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f02bb977-a5ef-4454-8885-156869a4ba78', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.280739+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/f02bb977-a5ef-4454-8885-156869a4ba78/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f02bb977-a5ef-4454-8885-156869a4ba78/ports', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {16} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.134652s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.071940s] ... ok GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-843e9835-085a-4b73-9bd6-b0901e12d3cb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.080453s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.067188s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.040535s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e9e590d2-0abb-4f2b-99db-0f584154343c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/nodes/detail?sort_key=resource_class {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/9f1f23e1-5ba7-4dbd-9146-1af9ab1429ce', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9f1f23e1-5ba7-4dbd-9146-1af9ab1429ce', 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/9f1f23e1-5ba7-4dbd-9146-1af9ab1429ce/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9f1f23e1-5ba7-4dbd-9146-1af9ab1429ce/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'9f1f23e1-5ba7-4dbd-9146-1af9ab1429ce', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_1', u'created_at': u'2018-08-14T14:39:45.632132+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/9f1f23e1-5ba7-4dbd-9146-1af9ab1429ce/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9f1f23e1-5ba7-4dbd-9146-1af9ab1429ce/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/4732b3c8-3a0d-45f1-8ffb-278b2c813f44', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4732b3c8-3a0d-45f1-8ffb-278b2c813f44', 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/4732b3c8-3a0d-45f1-8ffb-278b2c813f44/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4732b3c8-3a0d-45f1-8ffb-278b2c813f44/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'4732b3c8-3a0d-45f1-8ffb-278b2c813f44', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_2', u'created_at': u'2018-08-14T14:39:45.622256+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/4732b3c8-3a0d-45f1-8ffb-278b2c813f44/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4732b3c8-3a0d-45f1-8ffb-278b2c813f44/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/62313848-bc5a-4ff8-ad2b-021fc6358395', u'rel': u'self'}, {u'href': u'http://localhost/nodes/62313848-bc5a-4ff8-ad2b-021fc6358395', 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/62313848-bc5a-4ff8-ad2b-021fc6358395/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/62313848-bc5a-4ff8-ad2b-021fc6358395/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'62313848-bc5a-4ff8-ad2b-021fc6358395', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_3', u'created_at': u'2018-08-14T14:39:45.611995+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/62313848-bc5a-4ff8-ad2b-021fc6358395/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/62313848-bc5a-4ff8-ad2b-021fc6358395/ports', u'rel': u'bookmark'}]}]} 2018-08-14 14:39:45.426 29011 INFO alembic.runtime.migration [req-0164a5a0-74a1-47d0-9206-567f329608bd - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.427 29011 INFO alembic.runtime.migration [req-0164a5a0-74a1-47d0-9206-567f329608bd - - - - -] Will assume non-transactional DDL. 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-c7bc03ff-f0de-4e03-b564-fe75e4af2f6e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'. Value should have a maximum character requirement of 255\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.053386s] ... ok PATCH: /v1/nodes/274c33b5-fda5-42dd-8269-38e5b0a52f4c [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65f2b5c0-efaf-40ef-9566-814be1965509 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/b494065b-76c4-41b3-9442-9607bf34313e [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-458e6d7b-535b-41d3-a34e-69f506c1123a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/2decd0db-8a52-4f09-b812-4fd3f4dd5b00 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-620777c8-7c20-4a70-8bcd-0107d859e493 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/088d0a70-6ed1-4511-9134-3ce3ce7d5636 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cc35f4f4-551e-427b-a87c-8c961f7ec4e5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/bd509b79-8c55-4df1-a1c7-4914834fa2e6 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-05709240-562c-4b16-a0d4-1c5ccc657f42 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/1033e508-fb0e-4538-b7d6-1a18dd772b6a [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d70ab84-e555-4eae-bd9f-0cce062fd90b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/2da86845-fe69-4953-8e33-aca6addafa04 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-05eaaebd-db9e-4fc4-b336-e7006f07bf00 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/ed28fe31-fc4c-441d-921e-9b8b05dfcfa6 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c3f20022-1ac7-473e-8625-78812d20b9ad X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_classic_driver_interface_fields [0.378556s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.034167s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-205eba35-80a9-4408-a317-7e4b3d0c193a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {20} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.067534s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.142607s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.331923s] ... 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-74cd8875-9d2d-4a4a-b786-bea3ddd60a89 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.235776+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'2018-08-14T14:39:46.235776+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'} {26} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.139048s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.057696s] ... ok GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'enabled_rescue_interfaces': None, u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'default_rescue_interface': None, u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'hosts': [u'fake-host1', u'fake-host2'], u'enabled_storage_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}], u'name': u'fake-driver2', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'enabled_power_interfaces': None}, {u'enabled_rescue_interfaces': None, u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'default_rescue_interface': None, u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'hosts': [u'fake-host1'], u'enabled_storage_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'enabled_power_interfaces': None}, {u'enabled_rescue_interfaces': [], u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'default_rescue_interface': None, u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'hosts': [u'fake-host1', u'fake-host2'], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'enabled_power_interfaces': []}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {10} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.187370s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties_fail [0.015825s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-47c4007c-9a05-46af-ba6f-9d9410fae81d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.040191s] ... ok GET: /v1/nodes {} GOT:{u'nodes': []} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.089272s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6855ef7a-60ba-4cfc-a764-a970e7043430', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6855ef7a-60ba-4cfc-a764-a970e7043430', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6855ef7a-60ba-4cfc-a764-a970e7043430'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3eabab0a-e620-435f-be55-7e57664a54b1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3eabab0a-e620-435f-be55-7e57664a54b1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3eabab0a-e620-435f-be55-7e57664a54b1'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0026c29b-e72e-40ea-9deb-b2cbab0cdf68', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0026c29b-e72e-40ea-9deb-b2cbab0cdf68', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'0026c29b-e72e-40ea-9deb-b2cbab0cdf68'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=0026c29b-e72e-40ea-9deb-b2cbab0cdf68'} {10} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.056736s] ... 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-ded054eb-d967-4d1d-8690-53165c758352 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a logical name or UUID but received invalid%id^.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.047247s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.205636s] ... ok 2018-08-14 14:39:45.119 29021 INFO alembic.runtime.migration [req-f134b0e6-91ec-4f0e-b773-2fa4d34376a6 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.120 29021 INFO alembic.runtime.migration [req-f134b0e6-91ec-4f0e-b773-2fa4d34376a6 - - - - -] Will assume non-transactional DDL. GET: /v1/volume/connectors?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.045072s] ... ok {18} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.200806s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'reservation': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fba45cd8-9681-45a9-931f-f543ea917e6c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute reservation. Value: 'fake'. Cannot set read only field.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.047396s] ... ok POST: /v1/nodes/doesntexist/vifs {'id': 'fb11ff00-5148-4cd2-ae94-cbf2b826c34b'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-358e4b1e-fdfc-4366-85a1-3613565a89a8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a3d357e1-1f60-43b7-95a1-e45ba85b54cb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.082026s] ... ok DELETE: /v1/nodes/foo.json GOT:Response: 204 No Content Openstack-Request-Id: req-a25fb34d-8f2b-4ea6-8ed5-cc543a4b4846 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {10} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.088960s] ... ok 2018-08-14 14:39:45.239 29012 INFO alembic.runtime.migration [req-3569b780-734f-4fae-ac33-82a122b504cf - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.240 29012 INFO alembic.runtime.migration [req-3569b780-734f-4fae-ac33-82a122b504cf - - - - -] Will assume non-transactional DDL. GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GOT:{u'foo': u'bar'} {9} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.310418s] ... ok GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dc03fe49-e9c9-47b4-b072-4a87f8ef59e0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.045432s] ... ok GET: /v1/nodes?associated=true {} GOT:{u'nodes': [{u'instance_uuid': u'1d210a09-6b58-4f4c-9f76-d54873c3c693', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a74fc01b-cb99-47d1-84b4-d4f0322ff72f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a74fc01b-cb99-47d1-84b4-d4f0322ff72f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a74fc01b-cb99-47d1-84b4-d4f0322ff72f'}, {u'instance_uuid': u'eb2b4685-9ff3-4edd-8d6f-53ccb3b47bcb', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ac7d2d68-590c-4772-94a2-8c1fe3c2796e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ac7d2d68-590c-4772-94a2-8c1fe3c2796e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ac7d2d68-590c-4772-94a2-8c1fe3c2796e'}, {u'instance_uuid': u'58f94b35-3b60-4bd2-bc91-864b59b74688', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c012c46c-1abc-4106-abfc-85619c96ee21', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c012c46c-1abc-4106-abfc-85619c96ee21', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c012c46c-1abc-4106-abfc-85619c96ee21'}, {u'instance_uuid': u'2fe9f0ca-07ea-4ff2-8baa-cbfe6fe6db5f', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/30856ab5-2aaf-45bf-bf92-7303343b9ef8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/30856ab5-2aaf-45bf-bf92-7303343b9ef8', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'30856ab5-2aaf-45bf-bf92-7303343b9ef8'}]} GET: /v1/nodes?associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'1d210a09-6b58-4f4c-9f76-d54873c3c693', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a74fc01b-cb99-47d1-84b4-d4f0322ff72f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a74fc01b-cb99-47d1-84b4-d4f0322ff72f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a74fc01b-cb99-47d1-84b4-d4f0322ff72f'}, {u'instance_uuid': u'eb2b4685-9ff3-4edd-8d6f-53ccb3b47bcb', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ac7d2d68-590c-4772-94a2-8c1fe3c2796e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ac7d2d68-590c-4772-94a2-8c1fe3c2796e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ac7d2d68-590c-4772-94a2-8c1fe3c2796e'}, {u'instance_uuid': u'58f94b35-3b60-4bd2-bc91-864b59b74688', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c012c46c-1abc-4106-abfc-85619c96ee21', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c012c46c-1abc-4106-abfc-85619c96ee21', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c012c46c-1abc-4106-abfc-85619c96ee21'}, {u'instance_uuid': u'2fe9f0ca-07ea-4ff2-8baa-cbfe6fe6db5f', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/30856ab5-2aaf-45bf-bf92-7303343b9ef8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/30856ab5-2aaf-45bf-bf92-7303343b9ef8', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'30856ab5-2aaf-45bf-bf92-7303343b9ef8'}]} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.275551s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.207254+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/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1740e6c5-9423-4fa8-82cd-cec2e45544a7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} 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-65c9e13e-7e32-4d84-b03b-2975a5feb669 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.352396+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "\u0430\u043c\u043e"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.352396+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'\u0430\u043c\u043e'} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.564005+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2018-08-14T14:39:45.564005+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'}]}]} {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.176010s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.070594s] ... ok GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{u'connectors': [{u'uuid': u'8c84c2c7-914a-45dd-8111-ad8ba43be686', u'links': [{u'href': u'http://localhost/v1/volume/connectors/8c84c2c7-914a-45dd-8111-ad8ba43be686', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/8c84c2c7-914a-45dd-8111-ad8ba43be686', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'cb7db7d6-3604-420a-88dc-8daca23739b6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/cb7db7d6-3604-420a-88dc-8daca23739b6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/cb7db7d6-3604-420a-88dc-8daca23739b6', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'd8e26960-cfde-42e5-ae5a-c6ca02680ea7', u'links': [{u'href': u'http://localhost/v1/volume/connectors/d8e26960-cfde-42e5-ae5a-c6ca02680ea7', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/d8e26960-cfde-42e5-ae5a-c6ca02680ea7', u'rel': u'bookmark'}], u'extra': {}}]} {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.112337s] ... 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-e2e9ffab-5b74-419d-898f-fcdd752cbac6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.095102s] ... ok GET: /v1/nodes/spam/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.071236s] ... ok GET: /v1/nodes?resource_class=test {} GOT:{u'nodes': []} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.088371s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.063476s] ... ok 2018-08-14 14:39:45.177 29004 INFO alembic.runtime.migration [req-99e4beae-cb14-4081-9d96-e6fcbed4731f - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.178 29004 INFO alembic.runtime.migration [req-99e4beae-cb14-4081-9d96-e6fcbed4731f - - - - -] Will assume non-transactional DDL. DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-a11244e1-0784-459d-af91-a4a70aaf82f9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0ee08068-2c96-4c7a-aae9-21a8b80a0fd8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\"}"} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-22827b72-28ec-444f-b484-2aabf715368c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.670129+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.670129+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/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} 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-f78f85dd-ce8f-4263-8f43-e2940ddc7ea8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.069001s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.080008s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.335272s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.045180s] ... 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-b3831aae-eb55-4b3b-ab60-15494419a3b3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0dab2bb4-8f01-4310-ad14-f773b6aaf42a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c97e8007-1e6a-49cc-9c2f-4a48b4caec3a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} 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?associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/4a24b50a-3d08-4aec-b101-f5fdee9c3caa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4a24b50a-3d08-4aec-b101-f5fdee9c3caa', 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'4a24b50a-3d08-4aec-b101-f5fdee9c3caa', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'8ab47cf3-734e-4956-8810-3fe4aac69755', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.758836+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/4a24b50a-3d08-4aec-b101-f5fdee9c3caa/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4a24b50a-3d08-4aec-b101-f5fdee9c3caa/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/843a32a5-e9c6-4825-b821-ba33580f8370', u'rel': u'self'}, {u'href': u'http://localhost/nodes/843a32a5-e9c6-4825-b821-ba33580f8370', 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'843a32a5-e9c6-4825-b821-ba33580f8370', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'5233c4d5-c7d5-4b26-9f1c-eed444ed3f09', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.768400+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/843a32a5-e9c6-4825-b821-ba33580f8370/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/843a32a5-e9c6-4825-b821-ba33580f8370/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/9ac8d8ff-6c63-47c9-a815-535f97a42184', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9ac8d8ff-6c63-47c9-a815-535f97a42184', 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'9ac8d8ff-6c63-47c9-a815-535f97a42184', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'746da4cc-85dc-44d7-ad4b-b2551cacac94', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.780222+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/9ac8d8ff-6c63-47c9-a815-535f97a42184/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9ac8d8ff-6c63-47c9-a815-535f97a42184/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/c3877bbf-3b7d-4b17-912f-ba899870e0bd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c3877bbf-3b7d-4b17-912f-ba899870e0bd', 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'c3877bbf-3b7d-4b17-912f-ba899870e0bd', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'db6e5ced-8f24-47f4-917a-c64bbc4bad44', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.791392+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/c3877bbf-3b7d-4b17-912f-ba899870e0bd/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c3877bbf-3b7d-4b17-912f-ba899870e0bd/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.201531s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.097985s] ... 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'2018-08-14T14:39:46.657187+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'}} {18} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.107709s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.286601s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.112029s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.125379s] ... ok GET: /v1/drivers/fake-driver1 {} GOT:{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1/properties {} GOT:{} GET: /drivers/fake-driver1/properties {} GOT:{} {9} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_classic [0.129878s] ... ok GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ae08725d-c690-4dc9-b0cf-e2272ef77e7b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.040051s] ... 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-4d7cd42d-b77a-44b4-abab-e1cc70c51924 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 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/d26b8475-d2b4-442c-867f-051b1c506b11', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d26b8475-d2b4-442c-867f-051b1c506b11', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'd26b8475-d2b4-442c-867f-051b1c506b11'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/add7a2b8-e471-4000-acda-12c9b32729af', u'rel': u'self'}, {u'href': u'http://localhost/nodes/add7a2b8-e471-4000-acda-12c9b32729af', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'add7a2b8-e471-4000-acda-12c9b32729af'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/56a18316-ca4e-4838-ace0-db0126df1285', u'rel': u'self'}, {u'href': u'http://localhost/nodes/56a18316-ca4e-4838-ace0-db0126df1285', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'56a18316-ca4e-4838-ace0-db0126df1285'}]} GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c80004bc-2d0a-49a2-ae8f-dd4c1b026cd7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute instance_uuid. Value: 'fake'. unable to convert to uuid. Error: Expected a UUID but received fake.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.176165s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.045089s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.090128s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.152885s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.027716s] ... ok 2018-08-14 14:39:45.116 29010 INFO alembic.runtime.migration [req-a1f95e09-4691-4da6-999e-7b9d2b96ca5e - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.117 29010 INFO alembic.runtime.migration [req-a1f95e09-4691-4da6-999e-7b9d2b96ca5e - - - - -] Will assume non-transactional DDL. GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} {7} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.288660s] ... 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-d6b8ab80-50a1-44a3-8630-883304882c9a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.752728+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/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9f5ee428-fa3f-4c4c-9767-ee607981ac7e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.051895s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.052183s] ... 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-6cce0665-d6e4-467d-987f-994771f766d3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/driver' is a mandatory attribute and can not be removed\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.075676s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.106379s] ... 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,)) 2018-08-14 14:39:45.254 29024 INFO alembic.runtime.migration [req-8ca9043a-3405-4ef7-ba83-62f90d2088a3 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.254 29024 INFO alembic.runtime.migration [req-8ca9043a-3405-4ef7-ba83-62f90d2088a3 - - - - -] Will assume non-transactional DDL. {21} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.203412s] ... ok DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-6e3526a2-81c1-4c86-9958-d550f51a72b7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {21} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.023630s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.069101s] ... 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-378c7bee-6602-44a1-ad4f-7bcaec649654 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.074519s] ... ok GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.089332s] ... ok 2018-08-14 14:39:45.265 29032 INFO alembic.runtime.migration [req-43eb87d7-94d5-4fbe-8597-237486270ce8 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.266 29032 INFO alembic.runtime.migration [req-43eb87d7-94d5-4fbe-8597-237486270ce8 - - - - -] Will assume non-transactional DDL. DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a22048eb-bef2-409e-a824-ffc5943ec735 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.331744s] ... ok GET: /v1/drivers?type=classic {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'classic', u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'classic', u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]}]} {18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.070542s] ... 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'2018-08-14T14:39:46.671808+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.069958s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-67262ab3-1e89-4642-a2c0-438fc7f4e896 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.060290s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.113569s] ... 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-af82c9df-dc54-465e-9358-4a14909a4078 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-57.1 could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.082119s] ... 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-89e147eb-1365-4113-84ba-728797ea360e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute volume_type. Value: 'None'. Mandatory field missing.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.050593s] ... ok GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5322c56a-61fe-449c-9089-4e141793be45 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {7} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.042858s] ... 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-6dc0e486-d36c-4c3d-942b-3e32fc3ad58f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.070911s] ... ok 2018-08-14 14:39:45.686 29028 INFO alembic.runtime.migration [req-6e412b1d-d891-468f-9192-cb21d09106ea - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.687 29028 INFO alembic.runtime.migration [req-6e412b1d-d891-468f-9192-cb21d09106ea - - - - -] Will assume non-transactional DDL. {25} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.203853s] ... ok GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'c1b0318a-6d96-4763-a415-98d700da5ea0'} GOT:Response: 204 No Content Openstack-Request-Id: req-3c1511dc-acd9-4558-9352-cb173a5ce7b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {29} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.053718s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.066956s] ... 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-16e994ee-6cce-4863-93a9-e663acbad64d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.068445s] ... ok 2018-08-14 14:39:45.875 29020 INFO alembic.runtime.migration [req-dbbb212c-0ae7-4a2e-a4bb-eb8c889de05e - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.876 29020 INFO alembic.runtime.migration [req-dbbb212c-0ae7-4a2e-a4bb-eb8c889de05e - - - - -] Will assume non-transactional DDL. {17} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.203953s] ... ok {17} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.023896s] ... ok 2018-08-14 14:39:45.884 29033 INFO alembic.runtime.migration [req-7f2bf671-9f7f-4507-a617-637f4785217a - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.885 29033 INFO alembic.runtime.migration [req-7f2bf671-9f7f-4507-a617-637f4785217a - - - - -] 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\"}"} {30} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.219599s] ... ok {30} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.026220s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8c6959fa-1c2b-435c-8071-75e63b72850f {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {16} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.037902s] ... ok {16} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.026103s] ... 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-20f55452-1ed8-45be-a44e-2cdf8486a4e3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {21} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.099303s] ... ok {16} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.027348s] ... 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} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.086206s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7776335-f827-4aef-ad18-409f9cc1e89a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} GET: /v1/nodes/test.1 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': u'test.1', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.948817+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-874d042e-dd75-40af-9e30-6cd6a004da6e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} 2018-08-14 14:39:45.371 29007 INFO alembic.runtime.migration [req-14049994-adc1-4b3e-9c97-239a42e8e983 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.372 29007 INFO alembic.runtime.migration [req-14049994-adc1-4b3e-9c97-239a42e8e983 - - - - -] Will assume non-transactional DDL. 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-858e363f-7d67-40eb-bb19-2a15ee60afa4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:45.499214+00:00", "updated_at": "2018-08-14T14:39:45.540980+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"} {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.296753s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.081261s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.096877s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6392f5e2-fe8d-4bc2-b27b-3c447fe79e08 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"too many traits\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.046186s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.085896s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chasis_api_policy [0.057648s] ... 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-9d901031-d729-484f-8808-d2120c455cfc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.045932s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.016555s] ... 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'}]} {25} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.113574s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.019079s] ... 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-27f3cca3-bea4-43e5-9668-a2974b2b9f7b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:45.768282+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": "******"}} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.091072s] ... ok POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b567951e-23e5-491f-92bb-08d3b85089d3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} {30} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.130630s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/7859fb01-a167-46e2-90de-0eadf048ada5 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c5d446c5-a514-4f99-9307-fac54dd02910 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.052328s] ... ok 2018-08-14 14:39:45.233 29034 INFO alembic.runtime.migration [req-a8bea8e1-8ec5-4d25-ac33-b6b1dc7c7fcd - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.234 29034 INFO alembic.runtime.migration [req-a8bea8e1-8ec5-4d25-ac33-b6b1dc7c7fcd - - - - -] Will assume non-transactional DDL. DELETE: /v1/drivers/fake-driver1/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-3ea5a11e-6290-4671-b8b6-50bded57e1e2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {31} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.308023s] ... ok GET: / {} GOT:{u'default_version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.38', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'description': u'Ironic is an OpenStack project which aims to provision baremetal machines.', u'name': u'OpenStack Ironic API', u'versions': [{u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.38', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}]} {16} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.037637s] ... ok GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b1e23411-218b-4fa9-ba85-3c67df41f10b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.039369s] ... ok func1() migrated 10 of 10 objects. {16} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.022849s] ... ok {16} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.019281s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.085395s] ... ok {16} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.013689s] ... ok GET: /v1/drivers/fake-driver1/vendor_passthru/do_test {} GOT:foo {21} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.075437s] ... ok {16} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.058982s] ... ok {16} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_invalid_network_interface [0.023127s] ... ok 2018-08-14 14:39:45.431 29014 INFO alembic.runtime.migration [req-d5e58781-ced3-4312-a801-c3b39035c5a2 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.432 29014 INFO alembic.runtime.migration [req-d5e58781-ced3-4312-a801-c3b39035c5a2 - - - - -] Will assume non-transactional DDL. 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-878d45dd-a69e-4ba6-ad0f-074246b05568 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {11} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.281975s] ... ok {16} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_not_allowed_interfaces [0.124436s] ... ok {16} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.025921s] ... ok {16} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.013737s] ... ok DELETE: /v1/nodes/node-39/vifs/4512bbfa-aef2-4ecd-9220-2153bf105db4 GOT:Response: 204 No Content Openstack-Request-Id: req-b14d4e06-8d27-48d3-b0aa-4572912e8dbd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {17} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.069282s] ... ok 2018-08-14 14:39:45.509 29025 INFO alembic.runtime.migration [req-11a8fe57-4c44-4beb-a319-8eedb1b30f15 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.510 29025 INFO alembic.runtime.migration [req-11a8fe57-4c44-4beb-a319-8eedb1b30f15 - - - - -] 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-9921cc6e-f03b-4a6b-a906-b622794cfad2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {16} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.016628s] ... ok {16} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.014430s] ... ok {16} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.010625s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.263222s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5bc8781c-1bb0-4b15-b32c-cc45b0a36d98 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.045765s] ... ok {16} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.014803s] ... ok {16} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.019717s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.626989+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.626989+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'}]} POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-603bcbb0-cc6b-440d-9c15-5e989c6bc5d6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The driver 'fake-driver1' is unknown.\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{u'vifs': []} {11} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.078425s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.124665s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/d03ae044-6dfd-4ae2-ae89-9ca0a2db0baa GOT:Response: 204 No Content Openstack-Request-Id: req-509444a6-ec31-46bc-9f5c-3b6003c03555 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.052664s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.058188s] ... ok {16} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha1 [0.013187s] ... ok {16} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.014555s] ... ok 2018-08-14 14:39:46.008 29017 INFO alembic.runtime.migration [req-67c64a38-a11c-457b-9b41-952359efe891 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:46.009 29017 INFO alembic.runtime.migration [req-67c64a38-a11c-457b-9b41-952359efe891 - - - - -] Will assume non-transactional DDL. DELETE: /v1/chassis/c2eb1bd8-615f-4ad8-9110-10a8c91e0947 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f615b69e-96a3-40bd-bb50-7491c0ad13a8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis c2eb1bd8-615f-4ad8-9110-10a8c91e0947 could not be found.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.271029s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.069311s] ... ok {16} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.017269s] ... ok {16} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.323737s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_with_step_name [0.112051s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_unexpected_prepare_error [0.303695s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_check_rescuewait_timeouts [0.354922s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.962000s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.023638s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.064429s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ilo [0.212138s] ... ok {16} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.243672s] ... ok {16} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.460460s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.780382+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'}]} {16} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.115156s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.075728s] ... ok {16} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.018638s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/last_error', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2fadb37d-cc3c-453a-bbbc-4e469cac0624 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/last_error' is an internal attribute and can not be updated\"}"} GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-82a0daea-a8a2-4654-96e5-32bdef545974 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.061851s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.038576s] ... ok {16} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.017355s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_implemented [0.087520s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_supported [0.091202s] ... ok 2018-08-14 14:39:45.223 29009 INFO alembic.runtime.migration [req-2748a0ab-be71-4753-8c25-a290f747a426 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.224 29009 INFO alembic.runtime.migration [req-2748a0ab-be71-4753-8c25-a290f747a426 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-979340a9-5276-4d9f-b725-29135fe75c22 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/chassis?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3433cde8-74f9-41a0-868f-a80a89c0b7c4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {6} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.280336s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_node_locked [0.069522s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.112048s] ... ok 2018-08-14 14:39:45.486 29016 INFO alembic.runtime.migration [req-c1b132b3-39ee-4ec6-9ff7-189d399b2386 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.487 29016 INFO alembic.runtime.migration [req-c1b132b3-39ee-4ec6-9ff7-189d399b2386 - - - - -] Will assume non-transactional DDL. POST: /v1/chassis {'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/66065f5a-d660-4310-b0d1-e8ab58abe109 Openstack-Request-Id: req-b6a58e4b-f1c1-4472-bd8a-778d52e8c844 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "66065f5a-d660-4310-b0d1-e8ab58abe109", "links": [{"href": "http://localhost/v1/chassis/66065f5a-d660-4310-b0d1-e8ab58abe109", "rel": "self"}, {"href": "http://localhost/chassis/66065f5a-d660-4310-b0d1-e8ab58abe109", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:45.649818+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/66065f5a-d660-4310-b0d1-e8ab58abe109/nodes", "rel": "self"}, {"href": "http://localhost/chassis/66065f5a-d660-4310-b0d1-e8ab58abe109/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'66065f5a-d660-4310-b0d1-e8ab58abe109', u'links': [{u'href': u'http://localhost/v1/chassis/66065f5a-d660-4310-b0d1-e8ab58abe109', u'rel': u'self'}, {u'href': u'http://localhost/chassis/66065f5a-d660-4310-b0d1-e8ab58abe109', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {16} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.106838s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.302338s] ... ok {16} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.096144s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.022308s] ... ok GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} {25} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.116472s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.022438s] ... ok {16} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.042995s] ... ok {16} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.144710s] ... ok {16} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.100197s] ... ok {16} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.055938s] ... ok {16} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.871148s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.052678s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.069999s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.049030s] ... ok {16} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.032759s] ... ok {16} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.099725s] ... ok {16} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.054467s] ... ok {16} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.035772s] ... ok {16} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_timeout [0.098427s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.091292s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.028999s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance [0.083256s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.094846s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.014331s] ... ok GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} {13} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.042157s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-337a9f99-ee19-4da7-8e9f-00a0e00aa9df X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support raid (disabled or not implemented).\"}"} 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-fe0bd2c1-9d84-4362-8583-99133ff7ebb4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.070291s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.083672s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.104533s] ... 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', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'ssh_password': u'******', u'ssh_key_contents': u'******'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.850607+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ssh_creds_masked [0.078279s] ... 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-65aa4de0-f454-4dd6-a7b3-8c5decdb4df7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.109655s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.029229s] ... ok 2018-08-14 14:39:45.629 29030 INFO alembic.runtime.migration [req-40d303b9-ec67-4295-a37b-20ecdc4a00ec - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.630 29030 INFO alembic.runtime.migration [req-40d303b9-ec67-4295-a37b-20ecdc4a00ec - - - - -] Will assume non-transactional DDL. GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'102bd94c-f3d0-4b08-a2d0-6477164265ed', u'links': [{u'href': u'http://localhost/v1/chassis/102bd94c-f3d0-4b08-a2d0-6477164265ed', u'rel': u'self'}, {u'href': u'http://localhost/chassis/102bd94c-f3d0-4b08-a2d0-6477164265ed', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'7404f376-dd09-4edd-a437-88d635f12423', u'links': [{u'href': u'http://localhost/v1/chassis/7404f376-dd09-4edd-a437-88d635f12423', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7404f376-dd09-4edd-a437-88d635f12423', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'3f255ac7-4bfd-470a-8120-b3c123667bdf', u'links': [{u'href': u'http://localhost/v1/chassis/3f255ac7-4bfd-470a-8120-b3c123667bdf', u'rel': u'self'}, {u'href': u'http://localhost/chassis/3f255ac7-4bfd-470a-8120-b3c123667bdf', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'a75f6434-e69b-4071-a2db-2de9d174f067', u'links': [{u'href': u'http://localhost/v1/chassis/a75f6434-e69b-4071-a2db-2de9d174f067', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a75f6434-e69b-4071-a2db-2de9d174f067', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'c93d6ade-abbf-4b6a-8fa4-f146de1f4c7e', u'links': [{u'href': u'http://localhost/v1/chassis/c93d6ade-abbf-4b6a-8fa4-f146de1f4c7e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c93d6ade-abbf-4b6a-8fa4-f146de1f4c7e', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {27} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.315396s] ... 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-45703c6a-c21c-4606-88a1-5472d3b5ad73 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.065593s] ... ok 2018-08-14 14:39:51.344 29027 INFO alembic.runtime.migration [req-0d93200e-b6ef-47d1-841b-bb673f44a8e9 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:51.345 29027 INFO alembic.runtime.migration [req-0d93200e-b6ef-47d1-841b-bb673f44a8e9 - - - - -] Will assume non-transactional DDL. 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-bf2756c1-ecc0-426b-bd2c-d2199c843b55 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {24} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.298652s] ... 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} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.091731s] ... 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-420d6f28-dcaf-4d40-9c86-ea1a1b708dd8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/chassis_id) to the root of the resource is not allowed\"}"} 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-3a73b47a-2594-4cb7-b4e5-6ce36c187b58 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.024111s] ... 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-78183fa6-1de9-416f-b818-0738fce2f76f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.076526s] ... ok GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} {13} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.044570s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.087527s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-eef67440-e6df-4ac8-b50d-ebb57b14746e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.061391s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.081470s] ... 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', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.245388+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.098824s] ... ok 2018-08-14 14:39:50.176 29031 INFO alembic.runtime.migration [req-0e86cd2e-04e2-42fe-bd5c-d7f46c195bc4 - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:50.177 29031 INFO alembic.runtime.migration [req-0e86cd2e-04e2-42fe-bd5c-d7f46c195bc4 - - - - -] Will assume non-transactional DDL. 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-f72d7b7b-b2e6-40fe-b3b9-1437d1f31651 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.288437s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.053716s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.038493s] ... ok POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-6c48e6d7-5854-47d3-8bb5-f9d92870c6c3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {24} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.080060s] ... ok PATCH: /v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bf8d044c-0c1f-4f43-8376-f9c8d9629a28 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7a8f5237-90fb-4795-abf0-f60c3fdd87cb", "links": [{"href": "http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb", "rel": "self"}, {"href": "http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:45.420860+00:00", "updated_at": "2018-08-14T14:39:45.447496+00:00", "nodes": [{"href": "http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb {} GOT:{u'uuid': u'7a8f5237-90fb-4795-abf0-f60c3fdd87cb', u'links': [{u'href': u'http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo3': u'bar3'}, u'created_at': u'2018-08-14T14:39:45.420860+00:00', u'updated_at': u'2018-08-14T14:39:45.447496+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} PATCH: /v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c51102b-ade9-4845-b620-ef19e736d559 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7a8f5237-90fb-4795-abf0-f60c3fdd87cb", "links": [{"href": "http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb", "rel": "self"}, {"href": "http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:45.420860+00:00", "updated_at": "2018-08-14T14:39:45.481395+00:00", "nodes": [{"href": "http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb {} GOT:{u'uuid': u'7a8f5237-90fb-4795-abf0-f60c3fdd87cb', u'links': [{u'href': u'http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:45.420860+00:00', u'updated_at': u'2018-08-14T14:39:45.481395+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7a8f5237-90fb-4795-abf0-f60c3fdd87cb/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} 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-b98bbc8e-6a84-48ea-808b-b2d89616c624 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.081998s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.109270s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.045467+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.066935s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.662703+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {u'foo': u'bar'}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.662703+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'}]} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.103804s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_boot_iso_name [0.033949s] ... 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-1adc7e2a-47be-422e-93fe-5b1cd3d70c2c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.073579s] ... 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'}]} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.093422s] ... ok POST: /v1/nodes/node-39/vifs {'id': '0b2bfa90-949b-49e2-9bb9-59751b49ea39'} GOT:Response: 204 No Content Openstack-Request-Id: req-a87db35b-bf98-4f0f-b245-97f5ce4a117a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {25} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.070834s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.028574s] ... ok GET: /v1/nodes/detail?resource_class=test {} GOT:{u'nodes': []} {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.100792s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': False, u'console_info': None} {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.085797s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.034137s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.106296s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.081965s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.114836s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.118130s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.103211s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.912508+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.912508+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'}]}]} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.159780s] ... 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-7af06dd1-c2dc-49e0-8201-57582c528f69 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.067964s] ... 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-67161219-0754-4f0f-8bef-d02d410dd2b5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.081840s] ... 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-d1b28d2b-a3e3-4957-a288-36a1c6c5ea1d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.073031s] ... ok GET: /v1/ports/?limit=3 {} GOT:{u'ports': [{u'uuid': u'039cb220-564c-48c4-8e71-29b6577605b7', u'links': [{u'href': u'http://localhost/v1/ports/039cb220-564c-48c4-8e71-29b6577605b7', u'rel': u'self'}, {u'href': u'http://localhost/ports/039cb220-564c-48c4-8e71-29b6577605b7', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'5c0703ab-8f6b-41f5-a4c4-f72bbecc4a91', u'links': [{u'href': u'http://localhost/v1/ports/5c0703ab-8f6b-41f5-a4c4-f72bbecc4a91', u'rel': u'self'}, {u'href': u'http://localhost/ports/5c0703ab-8f6b-41f5-a4c4-f72bbecc4a91', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'cd56a3ef-2066-4c89-90f4-eda2d6d4e724', u'links': [{u'href': u'http://localhost/v1/ports/cd56a3ef-2066-4c89-90f4-eda2d6d4e724', u'rel': u'self'}, {u'href': u'http://localhost/ports/cd56a3ef-2066-4c89-90f4-eda2d6d4e724', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=3&marker=cd56a3ef-2066-4c89-90f4-eda2d6d4e724'} {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.168005s] ... ok GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.078282s] ... 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-25c587e9-2273-4181-a566-0f5e29e25882 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.111436s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_node.TestNodeObject.test_node_init [0.020573s] ... 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/f61d3593-17e4-4095-92f6-6679a257ec64', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f61d3593-17e4-4095-92f6-6679a257ec64', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'f61d3593-17e4-4095-92f6-6679a257ec64'}]} 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/d94da53d-bcc1-4d20-9088-e4189463f5f1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d94da53d-bcc1-4d20-9088-e4189463f5f1', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'd94da53d-bcc1-4d20-9088-e4189463f5f1'}]} {16} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.109269s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.216941s] ... 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'2018-08-14T14:39:46.193923+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'}]} {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.057674s] ... ok GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-53aefdfb-c747-4f95-80a7-326c2489d2cf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.045688s] ... 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-71986bc1-c541-4111-97f5-63907fe53850 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.061082s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.102276s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.057264s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.055910s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_spt_enclosure_group_invalid [0.032012s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info [0.031499s] ... ok 2018-08-14 14:39:45.328 29026 INFO alembic.runtime.migration [req-d6b63fa0-9884-488d-b4f9-3226339eafdc - - - - -] Context impl SQLiteImpl. 2018-08-14 14:39:45.329 29026 INFO alembic.runtime.migration [req-d6b63fa0-9884-488d-b4f9-3226339eafdc - - - - -] Will assume non-transactional DDL. 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'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.464787+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fda85bad-47ee-45bc-9825-e78a3fd8e145 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} /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,)) {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.057641s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.271828s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client_insecure_cafile [0.049758s] ... ok GET: /v1/nodes?instance_uuid=751fadb2-2223-4ed9-aed5-74f1dde61e05 {} GOT:{u'nodes': [{u'instance_uuid': u'751fadb2-2223-4ed9-aed5-74f1dde61e05', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4fca3f84-f5ea-41d6-a81c-d9201af0bf18', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4fca3f84-f5ea-41d6-a81c-d9201af0bf18', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4fca3f84-f5ea-41d6-a81c-d9201af0bf18'}]} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.110267s] ... ok GET: /v1/nodes?driver=test {} GOT:{u'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-03f263d5-f2ae-4822-9a5a-f3c98ebb0e90 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.057735s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.092936s] ... ok GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0f215b23-2d85-4e3b-807f-37dbdb3a81ca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.074682s] ... 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'}]} {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.101703s] ... 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-58bc2caa-a5ca-470e-9d39-d933113d86c1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.082913s] ... 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-6aafe954-690d-47e0-9121-4108a82358bc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} 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-92a5c36e-8bdf-4513-93fe-3e3876ff3909 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.069072s] ... ok GET: /v1/chassis?sort_key=uuid {} GOT:{u'chassis': [{u'uuid': u'185ade69-9a9f-4532-8a62-b896b6792fd4', u'links': [{u'href': u'http://localhost/v1/chassis/185ade69-9a9f-4532-8a62-b896b6792fd4', u'rel': u'self'}, {u'href': u'http://localhost/chassis/185ade69-9a9f-4532-8a62-b896b6792fd4', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'72c40775-6654-4b94-bb1a-bc46f991c900', u'links': [{u'href': u'http://localhost/v1/chassis/72c40775-6654-4b94-bb1a-bc46f991c900', u'rel': u'self'}, {u'href': u'http://localhost/chassis/72c40775-6654-4b94-bb1a-bc46f991c900', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'c5c10916-5ee3-40d9-bf18-a5efeb15aa4e', u'links': [{u'href': u'http://localhost/v1/chassis/c5c10916-5ee3-40d9-bf18-a5efeb15aa4e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c5c10916-5ee3-40d9-bf18-a5efeb15aa4e', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.078213s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.065266s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off [0.093901s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_node_in_use_by_oneview [0.094999s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f0f3a6c9-82a5-4ac2-9da8-6ead1b4aac71 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:46.937073+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2018-08-14T14:39:46.937073+00:00'} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bea4c5cc-84d0-45ed-9bcd-9915998728b5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:45.742647+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.139014s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.085445s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.127044s] ... ok {16} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.143099s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.124993s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_on_fails [0.175692s] ... ok PATCH: /v1/chassis/13593252-8626-4548-8eb0-0c032abb170a [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-02d49150-047b-48f3-b190-43902dc012cb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "13593252-8626-4548-8eb0-0c032abb170a", "links": [{"href": "http://localhost/v1/chassis/13593252-8626-4548-8eb0-0c032abb170a", "rel": "self"}, {"href": "http://localhost/chassis/13593252-8626-4548-8eb0-0c032abb170a", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:45.530797+00:00", "updated_at": "2018-08-14T14:39:45.556058+00:00", "nodes": [{"href": "http://localhost/v1/chassis/13593252-8626-4548-8eb0-0c032abb170a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/13593252-8626-4548-8eb0-0c032abb170a/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/13593252-8626-4548-8eb0-0c032abb170a {} GOT:{u'uuid': u'13593252-8626-4548-8eb0-0c032abb170a', u'links': [{u'href': u'http://localhost/v1/chassis/13593252-8626-4548-8eb0-0c032abb170a', u'rel': u'self'}, {u'href': u'http://localhost/chassis/13593252-8626-4548-8eb0-0c032abb170a', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'new value', u'foo3': u'bar3'}, u'created_at': u'2018-08-14T14:39:45.530797+00:00', u'updated_at': u'2018-08-14T14:39:45.556058+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/13593252-8626-4548-8eb0-0c032abb170a/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/13593252-8626-4548-8eb0-0c032abb170a/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.075618s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_exc [0.110981s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-6a19936b-d3ac-4e43-859f-2964374d6966 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'b175b0ae-8d00-4db6-852f-78b1c1e0683a', u'links': [{u'href': u'http://localhost/v1/ports/b175b0ae-8d00-4db6-852f-78b1c1e0683a', u'rel': u'self'}, {u'href': u'http://localhost/ports/b175b0ae-8d00-4db6-852f-78b1c1e0683a', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'1dbaf3e1-1c03-4363-85ef-3fc4269282b2', u'links': [{u'href': u'http://localhost/v1/ports/1dbaf3e1-1c03-4363-85ef-3fc4269282b2', u'rel': u'self'}, {u'href': u'http://localhost/ports/1dbaf3e1-1c03-4363-85ef-3fc4269282b2', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'1ee9c654-74e0-4e93-a603-7cabfed3fd6e', u'links': [{u'href': u'http://localhost/v1/ports/1ee9c654-74e0-4e93-a603-7cabfed3fd6e', u'rel': u'self'}, {u'href': u'http://localhost/ports/1ee9c654-74e0-4e93-a603-7cabfed3fd6e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=3&marker=1ee9c654-74e0-4e93-a603-7cabfed3fd6e'} {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.131410s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.062981s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.068842s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.015464s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} 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-587c8c8a-301c-443d-9dc0-f8976aa4591c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.080398s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.016772s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.090420s] ... ok GET: /v1/chassis?fields=uuid,extra {} GOT:{u'chassis': [{u'uuid': u'2414ffc1-5062-48a5-855d-dec32bc09470', u'links': [{u'href': u'http://localhost/v1/chassis/2414ffc1-5062-48a5-855d-dec32bc09470', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2414ffc1-5062-48a5-855d-dec32bc09470', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'05331272-0e4f-45b1-9225-db233bc1c1bd', u'links': [{u'href': u'http://localhost/v1/chassis/05331272-0e4f-45b1-9225-db233bc1c1bd', u'rel': u'self'}, {u'href': u'http://localhost/chassis/05331272-0e4f-45b1-9225-db233bc1c1bd', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'e5d6bd64-f62b-41a1-87cc-9d2182fee5f2', u'links': [{u'href': u'http://localhost/v1/chassis/e5d6bd64-f62b-41a1-87cc-9d2182fee5f2', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e5d6bd64-f62b-41a1-87cc-9d2182fee5f2', u'rel': u'bookmark'}], u'extra': {}}]} {16} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.019817s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.059522s] ... 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/e1528542-2c70-4163-a285-dc1a3f238d54', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e1528542-2c70-4163-a285-dc1a3f238d54', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'e1528542-2c70-4163-a285-dc1a3f238d54'}]} 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/076be657-bbe4-4667-9e79-05e49408bfc5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/076be657-bbe4-4667-9e79-05e49408bfc5', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'deploying', u'uuid': u'076be657-bbe4-4667-9e79-05e49408bfc5'}]} {16} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.030723s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.204248s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.033560s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.136165s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.014397s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.027886s] ... 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/6b0b91e0-43fd-4c03-bbd2-6a40b66ff1f5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6b0b91e0-43fd-4c03-bbd2-6a40b66ff1f5', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6b0b91e0-43fd-4c03-bbd2-6a40b66ff1f5'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/78131cc9-18be-4e76-94f5-c0deecee8140', u'rel': u'self'}, {u'href': u'http://localhost/nodes/78131cc9-18be-4e76-94f5-c0deecee8140', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'78131cc9-18be-4e76-94f5-c0deecee8140'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7c04df5c-f631-4e56-b975-0f0e61b5b8e5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7c04df5c-f631-4e56-b975-0f0e61b5b8e5', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7c04df5c-f631-4e56-b975-0f0e61b5b8e5'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=7c04df5c-f631-4e56-b975-0f0e61b5b8e5'} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.187660s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.118493s] ... ok DELETE: /v1/nodes/foo.1 GOT:Response: 204 No Content Openstack-Request-Id: req-21b98463-d31d-41ec-9a10-fcad25004aca X-Openstack-Ironic-Api-Maximum-Version: 1.38 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_by_name [0.092830s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.113629s] ... ok {16} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.020674s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.086815s] ... ok PATCH: /v1/nodes/9747f22f-a4c4-4235-a9b4-1c93cb167d12 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c362938-30ea-4b3f-a6a1-dc8bfe82492e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/9747f22f-a4c4-4235-a9b4-1c93cb167d12", "rel": "self"}, {"href": "http://localhost/nodes/9747f22f-a4c4-4235-a9b4-1c93cb167d12", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "9747f22f-a4c4-4235-a9b4-1c93cb167d12", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": true, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:45.950460+00:00", "ports": [{"href": "http://localhost/v1/nodes/9747f22f-a4c4-4235-a9b4-1c93cb167d12/ports", "rel": "self"}, {"href": "http://localhost/nodes/9747f22f-a4c4-4235-a9b4-1c93cb167d12/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.548432+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.817604+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'******'}} {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.076523s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.099826s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.073238s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.040705s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.044822s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'neutron'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-29700b81-a2de-4b72-89df-b017b938825b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "neutron", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'neutron', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.145940s] ... 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-3c35d6d2-a254-4860-96df-86915edcf055 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.093732s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_fail [0.090822s] ... ok GET: /v1/nodes?fields=uuid,instance_info {} GOT:{u'nodes': [{u'uuid': u'c70678e9-3b74-44ad-969b-5f5db93e4a48', u'links': [{u'href': u'http://localhost/v1/nodes/c70678e9-3b74-44ad-969b-5f5db93e4a48', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c70678e9-3b74-44ad-969b-5f5db93e4a48', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'6fb40440-543e-4d3c-9702-6145771b10cf', u'links': [{u'href': u'http://localhost/v1/nodes/6fb40440-543e-4d3c-9702-6145771b10cf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6fb40440-543e-4d3c-9702-6145771b10cf', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'2a35b8f9-cb4a-4369-a23a-63ea5f85fd07', u'links': [{u'href': u'http://localhost/v1/nodes/2a35b8f9-cb4a-4369-a23a-63ea5f85fd07', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2a35b8f9-cb4a-4369-a23a-63ea5f85fd07', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.170837s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_ok [0.095053s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.074577s] ... ok GET: /v1/nodes/5df6814c-2edf-4928-b388-62014cf5ee71 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/5df6814c-2edf-4928-b388-62014cf5ee71', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5df6814c-2edf-4928-b388-62014cf5ee71', 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'5df6814c-2edf-4928-b388-62014cf5ee71', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.069578+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/5df6814c-2edf-4928-b388-62014cf5ee71/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5df6814c-2edf-4928-b388-62014cf5ee71/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/5df6814c-2edf-4928-b388-62014cf5ee71 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/5df6814c-2edf-4928-b388-62014cf5ee71', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5df6814c-2edf-4928-b388-62014cf5ee71', 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'5df6814c-2edf-4928-b388-62014cf5ee71', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.069578+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/5df6814c-2edf-4928-b388-62014cf5ee71/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5df6814c-2edf-4928-b388-62014cf5ee71/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/5df6814c-2edf-4928-b388-62014cf5ee71 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/5df6814c-2edf-4928-b388-62014cf5ee71', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5df6814c-2edf-4928-b388-62014cf5ee71', 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'5df6814c-2edf-4928-b388-62014cf5ee71', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.069578+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/5df6814c-2edf-4928-b388-62014cf5ee71/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5df6814c-2edf-4928-b388-62014cf5ee71/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.126621s] ... ok GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-484a0e3d-82e3-4b18-aa7e-5e58db0722a4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.044739s] ... 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'}]} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.081253s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_fail [0.093502s] ... ok GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2ca5b5db-fa2c-4b03-b7e8-1747d56a85d5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute maintenance. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.071218s] ... 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'2018-08-14T14:39:47.008648+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.071378s] ... ok GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.078333s] ... 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'01328146-66db-4b83-9637-c1035cb9caab', u'links': [{u'href': u'http://localhost/v1/portgroups/01328146-66db-4b83-9637-c1035cb9caab', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/01328146-66db-4b83-9637-c1035cb9caab', u'rel': u'bookmark'}], u'name': u'pg-0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'a35464c5-b3cf-40c7-b27b-4a1cd19e2372', u'links': [{u'href': u'http://localhost/v1/portgroups/a35464c5-b3cf-40c7-b27b-4a1cd19e2372', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a35464c5-b3cf-40c7-b27b-4a1cd19e2372', 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'01328146-66db-4b83-9637-c1035cb9caab', u'links': [{u'href': u'http://localhost/v1/portgroups/01328146-66db-4b83-9637-c1035cb9caab', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/01328146-66db-4b83-9637-c1035cb9caab', u'rel': u'bookmark'}], u'name': u'pg-0'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=1&marker=01328146-66db-4b83-9637-c1035cb9caab'} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.160331s] ... 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-1f94a0f7-b13c-43ce-a73e-72e8b678b7bf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:50.516254+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": "******"}} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.124050s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_ok [0.102905s] ... ok POST: /v1/chassis/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-176131fb-f1bf-4c97-8aaf-f5a3b7475817 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.056186s] ... 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-b727e610-53ed-49b3-822d-4938c5aaf75c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2018-08-14T14:39:46.227159+00:00", "updated_at": "2018-08-14T14:39:46.308002+00:00", "address": "52:54:00:cf:2d:31"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.143597s] ... ok GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}], u'name': u'fake-driver2', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1', u'fake-host2']}, {u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']}, {u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.307023s] ... ok PATCH: /v1/nodes/6faf2f13-37d5-490d-8a42-8f6c190ef20c [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fc1342aa-8828-4d1d-90c9-8093fec1ef3a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.077093s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.187144s] ... 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'}} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.073028s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.439118+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.082060s] ... ok GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8ab21d08-a249-4178-a246-1a0a6cecf539 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node ports could not be found.\"}"} PATCH: /v1/nodes/119bc9db-5ec5-4689-8bb5-1a63975a3e3b [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5668081-f85d-41c0-b19e-bf69ebb7a5c6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot update node traits via node patch. Node traits should be updated via the node traits API.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.089468s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.065226s] ... ok {16} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe [0.099208s] ... 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-84704b95-ba41-465b-8d4f-fb913702c5bb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.074080s] ... ok {16} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_ipa_debug [0.094557s] ... 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-b767b718-7cd0-4de7-aa94-39508ea47706 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.064958s] ... ok GET: /v1/nodes?driver=pxe_ipmitool {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/d792e1fd-4ae4-47a1-98d1-404f2ccadb9c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d792e1fd-4ae4-47a1-98d1-404f2ccadb9c', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'd792e1fd-4ae4-47a1-98d1-404f2ccadb9c'}]} GET: /v1/nodes?driver=fake {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2af8f7dc-b90a-490e-b24e-fd91598307f8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2af8f7dc-b90a-490e-b24e-fd91598307f8', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'2af8f7dc-b90a-490e-b24e-fd91598307f8'}]} 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-d5814ded-8b28-4b49-bb13-7bb9526b1194 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.042986+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": "******"}} {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.024718s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.189141s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.114549s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.020588s] ... 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', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.801204+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_traits_hidden_in_lower_version [0.073700s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.024600s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.021841s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.018251s] ... ok {16} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_username [0.066945s] ... 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/2d724031-7d58-4d24-b31b-25897d292bca', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2d724031-7d58-4d24-b31b-25897d292bca', 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/2d724031-7d58-4d24-b31b-25897d292bca/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2d724031-7d58-4d24-b31b-25897d292bca/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'2d724031-7d58-4d24-b31b-25897d292bca', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2018-08-14T14:39:45.665198+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/2d724031-7d58-4d24-b31b-25897d292bca/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2d724031-7d58-4d24-b31b-25897d292bca/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/03ac6cc6-c3b1-45c1-8cf6-3f3eb6d05078', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03ac6cc6-c3b1-45c1-8cf6-3f3eb6d05078', 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/03ac6cc6-c3b1-45c1-8cf6-3f3eb6d05078/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03ac6cc6-c3b1-45c1-8cf6-3f3eb6d05078/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'03ac6cc6-c3b1-45c1-8cf6-3f3eb6d05078', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'bar', u'created_at': u'2018-08-14T14:39:45.675366+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/03ac6cc6-c3b1-45c1-8cf6-3f3eb6d05078/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03ac6cc6-c3b1-45c1-8cf6-3f3eb6d05078/ports', u'rel': u'bookmark'}]}]} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.174691s] ... 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-c3368b84-c3a5-417d-9e25-4aebe1a9250d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.106694s] ... 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.072843s] ... 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/16b6c0cd-8fc1-4c36-a43e-b1b7a990d335', u'rel': u'self'}, {u'href': u'http://localhost/nodes/16b6c0cd-8fc1-4c36-a43e-b1b7a990d335', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'16b6c0cd-8fc1-4c36-a43e-b1b7a990d335'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/51cb8f45-732a-4c23-8353-e3868f1cb85f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51cb8f45-732a-4c23-8353-e3868f1cb85f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'51cb8f45-732a-4c23-8353-e3868f1cb85f'}]} 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/16b6c0cd-8fc1-4c36-a43e-b1b7a990d335', u'rel': u'self'}, {u'href': u'http://localhost/nodes/16b6c0cd-8fc1-4c36-a43e-b1b7a990d335', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'16b6c0cd-8fc1-4c36-a43e-b1b7a990d335'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=1&marker=16b6c0cd-8fc1-4c36-a43e-b1b7a990d335'} 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-c245226c-d729-46ab-924b-3fe8d18434ca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.085987s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.246016s] ... ok {16} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot [0.225879s] ... ok {16} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.015651s] ... 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-92a547f7-aac5-4262-bd33-b4157cbdcae2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:46.625871+00:00", "updated_at": "2018-08-14T14:39:46.692328+00:00", "address": "52:54:00:cf:2d:31"} PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-f784bfed-0441-4f3a-a988-6334551567dc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {19} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.122750s] ... ok {16} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_boot_deploy [0.021001s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.078585s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-d512d5fd-5260-4a6c-a6de-b264b7cb9cad X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {16} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.012644s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.052233s] ... ok {16} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.028477s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.012199s] ... ok {16} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.028634s] ... ok {16} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.023630s] ... ok {16} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.023303s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.766100+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'}]} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.073546s] ... ok GET: /v1/nodes/node.json {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': u'node.json', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:45.604729+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.090010s] ... ok {16} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.026302s] ... ok GET: /v1/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'classic', u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'classic', u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {13} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.176660s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.361576+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': u'fish', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.361576+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'******'}} {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.107961s] ... ok PATCH: /v1/nodes/c36c54ef-7854-45b2-b6da-da05e935f3e6 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b7799ba5-edfe-4f6a-b535-8d5d2f8cfed3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.084054s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b57ac173-26cb-4d5a-af58-06b3c227e858 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.055155s] ... 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-3981530c-e3a5-45b4-bedc-5fce0ce72f79 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.091001+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.109529s] ... ok POST: /v1/drivers/fake-driver1/vendor_passthru {'test_key': 'test_value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ea41087-8a4e-49f6-9b65-0f3d6644b1d6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} GET: /v1/nodes/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cd58f252-9e2d-4a9b-9c2a-1b04bbfdc21b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.040885s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.080699s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7c2d4cd2-e375-4c4b-930e-51f5e7bc2d6d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.016777s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.065481s] ... 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-e98e8ca3-83c4-44e7-9b98-9d22030b1262 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4fa7e6ee-2365-42be-a843-59afcb43abfd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.097372s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.074178s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'resource_class': 'foo', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-906e8bdf-b8fa-455a-bf84-1e568729b9cf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.059053s] ... ok GET: /v1/nodes/?limit=3&associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'51b16440-dd82-454b-9aa8-d5a04e663255', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8db96c77-c60c-4a31-909c-84a9b00fc53e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8db96c77-c60c-4a31-909c-84a9b00fc53e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8db96c77-c60c-4a31-909c-84a9b00fc53e'}, {u'instance_uuid': u'76a23253-9181-4094-a183-dd36db064a28', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3bd92d52-738d-4092-b3c3-af5372008b38', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3bd92d52-738d-4092-b3c3-af5372008b38', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3bd92d52-738d-4092-b3c3-af5372008b38'}, {u'instance_uuid': u'bebabbed-2fbe-41aa-9bac-0070653b95bb', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f8a9ab52-52a9-4199-9fc2-3654caada88a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f8a9ab52-52a9-4199-9fc2-3654caada88a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f8a9ab52-52a9-4199-9fc2-3654caada88a'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=f8a9ab52-52a9-4199-9fc2-3654caada88a'} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.189112s] ... 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-de7d0afb-1a8f-4ce4-ba02-21a68d11eaeb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.081126s] ... 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-74ec407e-2dd9-4c63-91a9-89c459a8507c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.073888s] ... ok GET: /v1/nodes/detail?instance_uuid=e205f150-79fa-4407-8c60-e9a9fc0dcc36 {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/c530d369-b397-4a05-ab67-eaec2f9cee1a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c530d369-b397-4a05-ab67-eaec2f9cee1a', 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'c530d369-b397-4a05-ab67-eaec2f9cee1a', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'e205f150-79fa-4407-8c60-e9a9fc0dcc36', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.597119+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/c530d369-b397-4a05-ab67-eaec2f9cee1a/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c530d369-b397-4a05-ab67-eaec2f9cee1a/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'******'}}]} {26} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.113985s] ... 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": "405 Method Not Allowed\n\nThe method PUT is not allowed for this resource. \n\n "} {12} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.054521s] ... 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-ab6a21d7-090f-48d0-8783-82b067a3b937 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.058344s] ... 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-51368234-f989-4a59-a5ea-026a4d749c68 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.088251s] ... ok PATCH: /v1/nodes/ab99f0fa-508f-4587-8299-1df39fb27cf4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a86a2140-48f7-405a-a868-6095974b0d6c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/ab99f0fa-508f-4587-8299-1df39fb27cf4", "rel": "self"}, {"href": "http://localhost/nodes/ab99f0fa-508f-4587-8299-1df39fb27cf4", "rel": "bookmark"}], "target_provision_state": "active", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "ab99f0fa-508f-4587-8299-1df39fb27cf4", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:45.994052+00:00", "ports": [{"href": "http://localhost/v1/nodes/ab99f0fa-508f-4587-8299-1df39fb27cf4/ports", "rel": "self"}, {"href": "http://localhost/nodes/ab99f0fa-508f-4587-8299-1df39fb27cf4/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.116997s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7bec4df9-e058-402c-994f-478cfb85016e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.072204s] ... 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'ed747b48-e7eb-4c59-b0f0-ec8b5bd0bfcd', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ed747b48-e7eb-4c59-b0f0-ec8b5bd0bfcd', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ed747b48-e7eb-4c59-b0f0-ec8b5bd0bfcd', 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'2c3f04a4-11f4-4df4-bdc5-07edd9d915f6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/2c3f04a4-11f4-4df4-bdc5-07edd9d915f6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/2c3f04a4-11f4-4df4-bdc5-07edd9d915f6', 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'ed747b48-e7eb-4c59-b0f0-ec8b5bd0bfcd', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ed747b48-e7eb-4c59-b0f0-ec8b5bd0bfcd', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ed747b48-e7eb-4c59-b0f0-ec8b5bd0bfcd', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&limit=1&marker=ed747b48-e7eb-4c59-b0f0-ec8b5bd0bfcd'} {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.177204s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a2ef2ab4-918c-466d-8d24-6b8be7d66ea4', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a2ef2ab4-918c-466d-8d24-6b8be7d66ea4', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a2ef2ab4-918c-466d-8d24-6b8be7d66ea4'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8a28d2d2-a081-4acc-a5fe-ce6a416fea8e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8a28d2d2-a081-4acc-a5fe-ce6a416fea8e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8a28d2d2-a081-4acc-a5fe-ce6a416fea8e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1c27d34d-d06e-4169-9e5a-1e638fcf767e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1c27d34d-d06e-4169-9e5a-1e638fcf767e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1c27d34d-d06e-4169-9e5a-1e638fcf767e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/85901466-7020-4718-9b59-44fb09a80223', u'rel': u'self'}, {u'href': u'http://localhost/nodes/85901466-7020-4718-9b59-44fb09a80223', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'85901466-7020-4718-9b59-44fb09a80223'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b03e0820-8af7-4b6e-9446-f73e104e07b9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b03e0820-8af7-4b6e-9446-f73e104e07b9', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b03e0820-8af7-4b6e-9446-f73e104e07b9'}]} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.217761s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9f32525d-8b29-4dc8-b6da-586a7ad3b244 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.045588s] ... 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/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2c8ee6f4-92bc-42c7-a06a-4f6855076471 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.093604s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.046000s] ... 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'2018-08-14T14:39:46.458147+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_detail_by_node_name_ok [0.092236s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'09448af9-9330-4778-99c3-06b1f75f3927', u'links': [{u'href': u'http://localhost/v1/volume/targets/09448af9-9330-4778-99c3-06b1f75f3927', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/09448af9-9330-4778-99c3-06b1f75f3927', 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'4dd65230-c079-4a8b-b979-6297354d1262', u'links': [{u'href': u'http://localhost/v1/volume/targets/4dd65230-c079-4a8b-b979-6297354d1262', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/4dd65230-c079-4a8b-b979-6297354d1262', 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'09448af9-9330-4778-99c3-06b1f75f3927', u'links': [{u'href': u'http://localhost/v1/volume/targets/09448af9-9330-4778-99c3-06b1f75f3927', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/09448af9-9330-4778-99c3-06b1f75f3927', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&limit=1&marker=09448af9-9330-4778-99c3-06b1f75f3927'} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.172881s] ... 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-c199d9e4-d804-43aa-b1b7-900ca6c6300b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.119938s] ... 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_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'hosts': [u'fake-host1', u'fake-host2'], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'enabled_power_interfaces': []} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.153321s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-368629f3-6dfb-4ddd-84d2-d83501fbd95a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} 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'} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.179226s] ... 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', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.030452+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [u'CUSTOM_1'], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.030452+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'}]}]} 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-070ce329-07d6-4a6c-acc0-1f0d734cae48 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'management', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-332cc107-6f36-4d77-bf00-3c1d62afe073 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'states', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe3196a0-64bd-4781-975f-20a72a4b0f26 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'vendor_passthru', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4022236b-c64a-4625-9f83-b32dd8547050 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'validate', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-476d2019-0796-4392-90fe-8723eca9d02c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'detail', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7275545-a987-4fd0-8f62-1f63cead00df X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.199960s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.187150s] ... 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/0e0cf09e-8de4-4685-839a-7b35d1b02ca7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0e0cf09e-8de4-4685-839a-7b35d1b02ca7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'0e0cf09e-8de4-4685-839a-7b35d1b02ca7'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4326f780-5de0-4fea-aed6-fc1a9c4d4f9d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4326f780-5de0-4fea-aed6-fc1a9c4d4f9d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4326f780-5de0-4fea-aed6-fc1a9c4d4f9d'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f4bcf054-d003-479f-ac85-cfd2b836e001', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f4bcf054-d003-479f-ac85-cfd2b836e001', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f4bcf054-d003-479f-ac85-cfd2b836e001'}]} GET: /v1/nodes?associated=FALSE {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0e0cf09e-8de4-4685-839a-7b35d1b02ca7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0e0cf09e-8de4-4685-839a-7b35d1b02ca7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'0e0cf09e-8de4-4685-839a-7b35d1b02ca7'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4326f780-5de0-4fea-aed6-fc1a9c4d4f9d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4326f780-5de0-4fea-aed6-fc1a9c4d4f9d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4326f780-5de0-4fea-aed6-fc1a9c4d4f9d'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f4bcf054-d003-479f-ac85-cfd2b836e001', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f4bcf054-d003-479f-ac85-cfd2b836e001', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f4bcf054-d003-479f-ac85-cfd2b836e001'}]} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.248026s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:{} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.076200s] ... ok DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-c87aacf3-50a1-4d8c-8ee0-b256656dae52 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {7} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.141737s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fa67773c-a020-4265-8219-2dd2430f8a93 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.059029s] ... 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'2018-08-14T14:39:47.194742+00:00'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.078911s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-02f31b3d-f438-472c-8db2-f9d36f2efb14 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {21} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.128045s] ... ok GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8903cd90-8106-4663-a46d-40a68f579c7f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.073052s] ... ok 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-739aee0d-3320-4020-a9f7-1018f99c6301 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.067021s] ... 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-923167eb-7b38-4ed9-b68c-bf9a4c6ca665 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} 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-10100b2a-4878-4023-b55a-a946552190ae X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.066170s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.098913s] ... 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-33dafb5e-db18-43bf-9fff-897b32311d70 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.271035+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.101900s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.014770s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.016429s] ... ok PUT: /v1/nodes/node-39/traits {'traits': []} GOT:Response: 204 No Content Openstack-Request-Id: req-789c091a-791e-4b4f-a6c2-b7cc20b10e9e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {7} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.096160s] ... ok GET: /v1/ports {} GOT:{u'ports': []} {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.060022s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-b37dddc5-7996-42be-b4c8-6748cc9a0a39 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:46.900590+00:00"} {19} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.138702s] ... ok GET: /v1/nodes/spam/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.080938s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4ba0f68f-0406-443c-9cbf-1ad2518e8c4a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4ba0f68f-0406-443c-9cbf-1ad2518e8c4a', u'rel': u'bookmark'}], u'name': u'node-0', u'power_state': None, u'provision_state': u'available', u'uuid': u'4ba0f68f-0406-443c-9cbf-1ad2518e8c4a'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7a94c033-5c8a-4034-aef9-29d26082a98b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7a94c033-5c8a-4034-aef9-29d26082a98b', u'rel': u'bookmark'}], u'name': u'node-1', u'power_state': None, u'provision_state': u'available', u'uuid': u'7a94c033-5c8a-4034-aef9-29d26082a98b'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0e64c714-c83e-490c-a8ef-a9b231e7977a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0e64c714-c83e-490c-a8ef-a9b231e7977a', u'rel': u'bookmark'}], u'name': u'node-2', u'power_state': None, u'provision_state': u'available', u'uuid': u'0e64c714-c83e-490c-a8ef-a9b231e7977a'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1136f65a-8f13-4b41-aeea-984e8435dacb', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1136f65a-8f13-4b41-aeea-984e8435dacb', u'rel': u'bookmark'}], u'name': u'node-3', u'power_state': None, u'provision_state': u'available', u'uuid': u'1136f65a-8f13-4b41-aeea-984e8435dacb'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/92fa2aa0-dcb1-4f95-a8fa-222de7b5577a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/92fa2aa0-dcb1-4f95-a8fa-222de7b5577a', u'rel': u'bookmark'}], u'name': u'node-4', u'power_state': None, u'provision_state': u'available', u'uuid': u'92fa2aa0-dcb1-4f95-a8fa-222de7b5577a'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.169228s] ... 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'}]} {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.056764s] ... 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-2042efa2-a5cb-4fb9-8321-241fe58ad922 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.094445s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ca9f191-b231-4e3b-8784-435dc1437b0b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.058583s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.043237+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.096112s] ... 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-c5ef27e5-6c16-4839-ada0-29edb6976bc9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:50.751233+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": "******"}} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.115014s] ... 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/d6522cd6-afe4-47e9-9e0e-aac612d73474', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d6522cd6-afe4-47e9-9e0e-aac612d73474', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'd6522cd6-afe4-47e9-9e0e-aac612d73474'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9448abca-7a0c-4348-a109-f349e524fd8d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9448abca-7a0c-4348-a109-f349e524fd8d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9448abca-7a0c-4348-a109-f349e524fd8d'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=2&marker=9448abca-7a0c-4348-a109-f349e524fd8d'} {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.172470s] ... 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-f4df0fcb-4a8e-4b1b-aa6e-47f9be92b803 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:45.921080+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"}]} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.097065s] ... ok GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:51.851644+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:51.851644+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'}]}]} {24} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.171726s] ... ok PATCH: /v1/nodes/25d543a8-67a4-4707-afda-38d5bb234560 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8bb608b4-5bab-44cf-880b-78ae927779da X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'. Value should have a maximum character requirement of 80\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.094586s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.520175+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': u'2015-03-18T19:20:00+00:00', u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.520175+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'}]} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.101112s] ... 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-ce6f5da5-c1ce-4285-b8df-f8415b629c01 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\"}"} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.063736s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-38d6452e-7f5c-4df1-a872-0c3c9b4b560f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.078531s] ... ok 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-1921a1c9-916f-4803-a722-30c0ec9e61cf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/chassis_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'chassis_id'\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.084157s] ... ok GET: /v1/nodes?instance_uuid=f82e6b98-16a6-4540-b437-a50d3c58c60e {} GOT:{u'nodes': [{u'instance_uuid': u'f82e6b98-16a6-4540-b437-a50d3c58c60e', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4e3f779c-3312-47c9-be06-4eae5b76f445', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4e3f779c-3312-47c9-be06-4eae5b76f445', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'4e3f779c-3312-47c9-be06-4eae5b76f445'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.078072s] ... ok PATCH: /v1/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7a2a39a-f469-41a3-bcb7-2bf18e0066b4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3", "rel": "self"}, {"href": "http://localhost/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/states", "rel": "self"}, {"href": "http://localhost/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "eabb4973-de21-49bc-b5d7-d5cd154a57c3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/volume", "rel": "self"}, {"href": "http://localhost/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.217758+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/ports", "rel": "self"}, {"href": "http://localhost/nodes/eabb4973-de21-49bc-b5d7-d5cd154a57c3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.107344s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.682494+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'}]} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.082732s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-486cec85-e618-46fb-a003-379a3b3f2b07 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.093424s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'foo': 123}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-87d84b2d-a4ed-4454-bf61-9756794b261e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"foo": 123}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.013261+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'foo': 123}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.013261+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'******'}} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.125991s] ... 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-0eb16ff7-ef4f-4921-8353-c6f264638eb6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.091587s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9775c854-4c5b-4cb7-af1f-a2f30fd9a8e6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.049849s] ... 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-7b00939b-eb56-4e2f-a854-9c6c6c7c50bf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.084703s] ... 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-861bf123-9b9c-4737-80fd-807fda63b70f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"bad\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.096665s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-fb311e90-2f71-4111-af5f-984e4546ca35 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "cinder", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.119886s] ... 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-ffd9e2e3-0e7f-4ff5-8346-f15b873f0a1d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument patch: power_state\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.098383s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76c1b274-1941-4bbd-97aa-5f18a7154fe1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'None'. Mandatory field missing.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.060926s] ... ok PATCH: /v1/nodes/d7b9ef00-af9f-4964-86b5-a07e19998a1a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1623b7a4-bc2b-44bf-8c1a-336793b5b09b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node d7b9ef00-af9f-4964-86b5-a07e19998a1a can not be updated while a state transition is in progress.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.092870s] ... 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-fae6d433-5edc-44e8-81bc-486d8b74e2d0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:{u'physical_network': u'physnet1', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}]} {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.088400s] ... ok PATCH: /v1/nodes/3e1553b8-f977-40d0-b268-261955282765 [{'path': '/name', 'value': 'this-is-my-node', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ec36444e-157a-49dc-8d58-e013e43738ce X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\"}"} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.107859s] ... 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-625afe0c-6d1a-4a9b-8582-63b1633991c4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.066703s] ... 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-2fab2414-c5d8-43f9-9577-af594471dd89 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.069998s] ... 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-ea176c4e-a354-4d8b-acd0-415d8733a739 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.089989s] ... 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-33242399-62e0-4840-b2d1-fd9055310dce X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-afbb879d-24eb-4de6-888d-d323a442a581 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-69d346e0-36fc-47c2-bcfb-a231ba3dc8de X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.179296s] ... 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-eb87e9e2-dddb-4354-ae22-df552b9e458a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.067886s] ... 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-d477548b-b2b5-40c3-9237-cffaba0dabb4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.072206s] ... ok GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0972f93a-9387-472a-a170-172b0e402250 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df806831-9338-44a0-89b7-bc1d60b97608 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0b011c9-aa49-4d6c-bb7a-12833533edc0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d374fc9e-26df-4e90-b7fb-017bd6552558 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=instance_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b6e0289e-38f1-4aa6-bc9e-a3ea9dcdf117 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86271a61-f307-40c8-9b61-64771c40d932 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=clean_step {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-92caa4d2-c208-4858-a817-91a1c1f41311 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7750d62a-4583-4252-8f92-6427a1599331 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.099583s] ... 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-9fffb206-b5e7-4be4-9486-4ef12d9cf4eb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.093272s] ... 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-ff8e5729-e189-4fcc-9078-b3013c0fad72 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.093370s] ... 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'2018-08-14T14:39:47.272457+00:00'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2018-08-14T14:39:47.272457+00:00'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.106132s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '14dbf851-2094-4107-b96b-1502b6fe92f6', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b2d5e648-7345-40e7-8636-d4086979ae60 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.072081s] ... 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-62e4c5dd-2edb-4b2b-a930-e296d11856a4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/chassis_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'chassis_id'\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.084932s] ... 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-bd735d2e-a1fe-4a13-ae2b-d915edb83fa5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute portgroup. Value: '{'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'internal_info': 'info', 'name': 'fooname'}'. Value not a valid dict: info\"}"} POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ee75cf2-951e-4da3-ba12-221050e0f6a4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute internal_info. Value: '{u'a': u'b'}'. Cannot set read only field.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.052046s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.059333s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op [0.034436s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_node_rebuild_with_configdrive [0.016369s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs_fail [0.018595s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver [0.015463s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class [0.014738s] ... 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/05a4afe5-5428-49c2-afbb-e53c695e5221', u'rel': u'self'}, {u'href': u'http://localhost/nodes/05a4afe5-5428-49c2-afbb-e53c695e5221', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'05a4afe5-5428-49c2-afbb-e53c695e5221'}, {u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/865f49a9-017c-4d74-9f78-f9e4e8b1ac96', u'rel': u'self'}, {u'href': u'http://localhost/nodes/865f49a9-017c-4d74-9f78-f9e4e8b1ac96', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'865f49a9-017c-4d74-9f78-f9e4e8b1ac96'}]} GET: /v1/nodes?maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/efb00cec-d806-4000-a8bf-2be89fa4234a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/efb00cec-d806-4000-a8bf-2be89fa4234a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'efb00cec-d806-4000-a8bf-2be89fa4234a'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/40e641cc-a398-40e5-b480-22b566ca199f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/40e641cc-a398-40e5-b480-22b566ca199f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'40e641cc-a398-40e5-b480-22b566ca199f'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5bece70a-fb2c-414b-89d6-fa4973dff2f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5bece70a-fb2c-414b-89d6-fa4973dff2f2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'5bece70a-fb2c-414b-89d6-fa4973dff2f2'}]} 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/07fe9cfc-8c27-4679-9757-3433e236661b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/07fe9cfc-8c27-4679-9757-3433e236661b', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'07fe9cfc-8c27-4679-9757-3433e236661b'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c2a0a7c5-ca29-4142-bf8a-86d932997bee', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c2a0a7c5-ca29-4142-bf8a-86d932997bee', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c2a0a7c5-ca29-4142-bf8a-86d932997bee'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/eee3dce9-101b-43ed-9735-997d66ff3ce2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eee3dce9-101b-43ed-9735-997d66ff3ce2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'eee3dce9-101b-43ed-9735-997d66ff3ce2'}]} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.146037s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.247645s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': []} {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.057064s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5aa1fafe-7a89-4f68-bb2e-4a23d74e9901 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute driver. Value: 'None'. Mandatory field missing.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.045859s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-78c41429-5ed2-4cbd-96d9-b1054a54b6fa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.079133s] ... 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/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f9d8390e-356a-457a-aed9-acd6855e0b15 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.051922s] ... 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-540407e6-6cef-44ff-a628-0e9c23697369 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.070074s] ... 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-ca36cfb7-1460-4057-878a-4b94b95c0c66 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.103312s] ... 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-bedf8d06-9fbc-48d6-8478-0e84b94801c5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.086631s] ... 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-35af5b69-faf1-4bc8-aea2-b187e94af0be X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/console_enabled' is an internal attribute and can not be updated\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.067668s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-77759319-4dd7-4734-81fa-e74e6e7f18b9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"enabled\\\"\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.061220s] ... 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-4b15e7cf-e1d6-4d76-af47-c07abfd0d996 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.080082s] ... 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'2018-08-14T14:39:46.672154+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'}]} {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.078616s] ... ok GET: /v1/ports?sort_key=pxe_enabled {} GOT:{u'ports': [{u'uuid': u'3f00bf52-1851-4de3-928a-bfcca5a9f722', u'links': [{u'href': u'http://localhost/v1/ports/3f00bf52-1851-4de3-928a-bfcca5a9f722', u'rel': u'self'}, {u'href': u'http://localhost/ports/3f00bf52-1851-4de3-928a-bfcca5a9f722', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'654cf702-c5bb-42d7-bdf4-e9a48f31ab3b', u'links': [{u'href': u'http://localhost/v1/ports/654cf702-c5bb-42d7-bdf4-e9a48f31ab3b', u'rel': u'self'}, {u'href': u'http://localhost/ports/654cf702-c5bb-42d7-bdf4-e9a48f31ab3b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.105276s] ... 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-190f53bc-5820-4f98-b574-564e489bdf1e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.071155s] ... 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-7982e148-ef92-4171-86f7-8e7adcf362fd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null GET: /v1/nodes/d23aedd9-f789-4251-8813-865874c297fc {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/d23aedd9-f789-4251-8813-865874c297fc', u'rel': u'self'}, {u'href': u'http://foo/nodes/d23aedd9-f789-4251-8813-865874c297fc', 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'd23aedd9-f789-4251-8813-865874c297fc', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.897069+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/d23aedd9-f789-4251-8813-865874c297fc/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/d23aedd9-f789-4251-8813-865874c297fc/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/d23aedd9-f789-4251-8813-865874c297fc {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/d23aedd9-f789-4251-8813-865874c297fc', u'rel': u'self'}, {u'href': u'http://foo/nodes/d23aedd9-f789-4251-8813-865874c297fc', 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'd23aedd9-f789-4251-8813-865874c297fc', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.897069+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/d23aedd9-f789-4251-8813-865874c297fc/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/d23aedd9-f789-4251-8813-865874c297fc/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/d23aedd9-f789-4251-8813-865874c297fc {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/d23aedd9-f789-4251-8813-865874c297fc', u'rel': u'self'}, {u'href': u'http://foo/nodes/d23aedd9-f789-4251-8813-865874c297fc', 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'd23aedd9-f789-4251-8813-865874c297fc', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.897069+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/d23aedd9-f789-4251-8813-865874c297fc/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/d23aedd9-f789-4251-8813-865874c297fc/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.069299s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.126663s] ... 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-1360faed-b64b-458c-98d4-71467bf4918f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.071093s] ... 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-ad998c09-4661-4960-8aa9-bef8e0e60dbf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.064886s] ... 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-92698eec-e1b1-4cb0-8efe-964be16a6769 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.066253s] ... 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-60bc89ce-f44c-4150-ac1b-c769b46d4f3d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {28} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.083462s] ... 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-04a969b0-3db4-42d5-8991-f82a91191c45 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.094300s] ... 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7f4b29b3-0456-4577-b894-11841dd39684 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.083211s] ... 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-976d57eb-04ef-4e03-9645-903b5a9558f2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support test (disabled or not implemented).\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.076326s] ... 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-43b34623-dade-48a9-9d68-0adfe160d958 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:52.138399+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"}]} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.122281s] ... 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'}]} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.085044s] ... ok GET: /v1/portgroups?sort_key=uuid {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:32', u'uuid': u'283b1f76-d7f0-4c0a-bbd5-ca403b85a66f', u'links': [{u'href': u'http://localhost/v1/portgroups/283b1f76-d7f0-4c0a-bbd5-ca403b85a66f', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/283b1f76-d7f0-4c0a-bbd5-ca403b85a66f', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:30', u'uuid': u'5f7f4a08-01fb-4845-95e3-76f6881c9157', u'links': [{u'href': u'http://localhost/v1/portgroups/5f7f4a08-01fb-4845-95e3-76f6881c9157', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/5f7f4a08-01fb-4845-95e3-76f6881c9157', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'8ae3da09-d9ef-4d84-a465-99abf0e5035e', u'links': [{u'href': u'http://localhost/v1/portgroups/8ae3da09-d9ef-4d84-a465-99abf0e5035e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/8ae3da09-d9ef-4d84-a465-99abf0e5035e', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.119035s] ... ok GET: /v1/volume/connectors/25265310-5632-47d8-8541-1f556b909472 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'25265310-5632-47d8-8541-1f556b909472', u'links': [{u'href': u'http://localhost/v1/volume/connectors/25265310-5632-47d8-8541-1f556b909472', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/25265310-5632-47d8-8541-1f556b909472', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.502852+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /v1/volume/connectors/25265310-5632-47d8-8541-1f556b909472 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'25265310-5632-47d8-8541-1f556b909472', u'links': [{u'href': u'http://localhost/v1/volume/connectors/25265310-5632-47d8-8541-1f556b909472', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/25265310-5632-47d8-8541-1f556b909472', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.502852+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /volume/connectors/25265310-5632-47d8-8541-1f556b909472 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'25265310-5632-47d8-8541-1f556b909472', u'links': [{u'href': u'http://localhost/v1/volume/connectors/25265310-5632-47d8-8541-1f556b909472', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/25265310-5632-47d8-8541-1f556b909472', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.502852+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.126862s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-47dbca83-a644-4e6b-be45-ff3617f97a43 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.076044s] ... 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-61f8c6c2-1674-490c-bf25-e46b193cfe53 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.069443s] ... ok GET: /v1/ports?node=test-node {} GOT:{u'ports': [{u'uuid': u'cca63baf-b573-48d2-8226-2853b3f00080', u'links': [{u'href': u'http://localhost/v1/ports/cca63baf-b573-48d2-8226-2853b3f00080', u'rel': u'self'}, {u'href': u'http://localhost/ports/cca63baf-b573-48d2-8226-2853b3f00080', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'b1061a7f-9e4f-4730-8d4a-5cca3dfa94aa', u'links': [{u'href': u'http://localhost/v1/ports/b1061a7f-9e4f-4730-8d4a-5cca3dfa94aa', u'rel': u'self'}, {u'href': u'http://localhost/ports/b1061a7f-9e4f-4730-8d4a-5cca3dfa94aa', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'c8a86d8e-4aa2-4daa-9ab2-fef97f4bb312', u'links': [{u'href': u'http://localhost/v1/ports/c8a86d8e-4aa2-4daa-9ab2-fef97f4bb312', u'rel': u'self'}, {u'href': u'http://localhost/ports/c8a86d8e-4aa2-4daa-9ab2-fef97f4bb312', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {4} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.136977s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, '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-861f59b9-8c0e-464b-abea-7876cc68f55a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.350413+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.086889s] ... 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-8574f95a-2d06-405e-ba03-e8798617914b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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_power_state_power_on_no_timeout_no_ver [0.070376s] ... 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-314bc6af-078c-4d8e-aa55-6eb161453f63 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "deadbeef-0000-1111-2222-333333333333", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.093077+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"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.111011s] ... 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-668d4ea1-4411-48bd-8f66-8e11ec4b024c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.063483s] ... 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-adaafaa0-9ba6-4b73-a70f-d065ee6e8a12 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.055511s] ... ok 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-f726031c-e9d2-4185-80f4-2262072e8301 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/provision_updated_at' is an internal attribute and can not be updated\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.072241s] ... 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-4454f20f-b738-48c4-ab78-708dca28cad4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.089041s] ... 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-4f3aec1e-150b-47e8-aea1-c0f30f00fa53 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.071024s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{u'ports': [{u'uuid': u'1d0e1733-236f-4b57-adf0-c44e60ae69a8', u'links': [{u'href': u'http://localhost/v1/ports/1d0e1733-236f-4b57-adf0-c44e60ae69a8', u'rel': u'self'}, {u'href': u'http://localhost/ports/1d0e1733-236f-4b57-adf0-c44e60ae69a8', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'e0d387fa-01bd-4822-8555-ed3dd6668e9e', u'links': [{u'href': u'http://localhost/v1/ports/e0d387fa-01bd-4822-8555-ed3dd6668e9e', u'rel': u'self'}, {u'href': u'http://localhost/ports/e0d387fa-01bd-4822-8555-ed3dd6668e9e', 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'1d0e1733-236f-4b57-adf0-c44e60ae69a8', u'links': [{u'href': u'http://localhost/v1/ports/1d0e1733-236f-4b57-adf0-c44e60ae69a8', u'rel': u'self'}, {u'href': u'http://localhost/ports/1d0e1733-236f-4b57-adf0-c44e60ae69a8', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=1&marker=1d0e1733-236f-4b57-adf0-c44e60ae69a8'} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.161785s] ... 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-6e8c73bd-d47a-4a3f-9959-fb1e1404e467 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.079023s] ... ok PATCH: /v1/nodes/71205cf3-54c1-4e49-a5e0-ada0db4041ed [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c82f1b5f-4920-422c-9055-ab4bbefa7619 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/71205cf3-54c1-4e49-a5e0-ada0db4041ed", "rel": "self"}, {"href": "http://localhost/nodes/71205cf3-54c1-4e49-a5e0-ada0db4041ed", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "71205cf3-54c1-4e49-a5e0-ada0db4041ed", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.078164+00:00", "ports": [{"href": "http://localhost/v1/nodes/71205cf3-54c1-4e49-a5e0-ada0db4041ed/ports", "rel": "self"}, {"href": "http://localhost/nodes/71205cf3-54c1-4e49-a5e0-ada0db4041ed/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.099486s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 204 No Content Openstack-Request-Id: req-37adc21d-4a95-461d-930e-cc1589f72557 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {15} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.079120s] ... 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-6ab5e3f1-6e19-48d6-9c3e-41c49080e2aa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.091351s] ... 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-a86936b1-8a71-43f3-99c3-b68e03cd1518 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.070516s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.468139+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.468139+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'}]} {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.102421s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-60d23942-f6f6-4f92-96d7-51ef9807b623 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.153559s] ... ok GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8ddeee26-0d5f-4210-9f9d-54c908d163af X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} 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-c1ac9476-28d4-435f-825a-feddcad9626c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {4} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.051240s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.099888s] ... ok GET: /v1/nodes/123~123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 123~123. "} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.032840s] ... 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'}]} {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.083377s] ... 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.082352s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/8ceecf18-997f-400e-bfab-d8c9c05caf37 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ce7a5105-42de-454d-865c-47b55a37642b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.072071s] ... 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-9a6f5d25-62c4-4245-b0a5-d48da8255bc2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.089934s] ... ok GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.044330s] ... 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-5a6b8161-1b97-4a14-842f-7c035ab19af2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.629896+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.100920s] ... 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-1831bcbf-afcd-42eb-9e87-83b19d5a7a4f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "aa:bb:cc:dd:ee:ff"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2018-08-14T14:39:46.879447+00:00", "updated_at": "2018-08-14T14:39:46.937684+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.112501s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.027396s] ... ok PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-51d0c609-c76a-494d-b0f1-c4e9f90fa1c8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.056080s] ... ok func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.023270s] ... 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-3ba3a306-d87e-4f97-afa0-1eb7a49f2eec X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.794798+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"} {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.109281s] ... 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-5d456b8d-696d-444f-a23b-043b174d66b2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.920395+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_replace_maintenance [0.104786s] ... 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-d702629c-1765-4843-b11d-f14fe72d59c2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support raid (disabled or not implemented).\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.078582s] ... 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-42fc72e4-037e-4d5c-9161-5fb54fd5c066 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:47.572903+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.112126s] ... 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-ae98640a-a0af-425f-90a9-4dc99966d716 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:52.255152+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"}]} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.105961s] ... 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-baededef-65b2-4dbd-9617-a098e8b0c968 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.075286s] ... 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_batches [0.024311s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_no_interfaces_set [0.032386s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.019666s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type_missing [0.022891s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_network_interface_is_set [0.092698s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.020022s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.034384s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.021934s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.017845s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.017144s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.031752s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_uefi_rootfs_fails [0.029722s] ... 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', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.752623+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:46.752623+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.020695s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.168959s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.028329s] ... 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-23cb81d2-7fbe-4477-961f-1f192c6b07b7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.854862+00:00", "updated_at": "2018-08-14T14:39:46.919226+00:00", "address": "aa:bb:cc:dd:ee:ff"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.121520s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.021723s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.040656s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.072283s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.027739s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.015987s] ... ok {0} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.062793s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.032190s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.076659s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.065307s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.400141s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.258285s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.021731s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.244979s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device [0.103084s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.075886s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.095263s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.022090s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.042198s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.040223s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.036440s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.020226s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.131247s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.870057s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.054088s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.039705s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.042475s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.036123s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.035809s] ... 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'}]} {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.093346s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.048081s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_pin [0.014966s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.071293s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs [0.015550s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.053654s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.013051s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.034898s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.037993s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.040571s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.104209s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.102293s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.034015s] ... 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-2ef13e61-da5d-41f8-bb37-294c49c343ac X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-004e9bd0-5349-4469-b992-16b8c416b8a6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.072090s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.050180s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info [0.030646s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.035513s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-5923f7a9-8110-473e-91fe-8e27519831ff X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.074823s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.044436s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_uefi_no_glance_image [0.099593s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_MissingParam [0.090458s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.034438s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.031116s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.051174s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.030445s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_fail [0.034016s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.076015s] ... 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-04535e48-5d3f-42ff-8e02-4fe95361dda7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.069228s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.072513s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_missing [0.033817s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.180308s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.047626s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.030446s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.301572s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.113437s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.282709s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.285255s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.094577s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.111072s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.101356s] ... 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/086b5690-4406-486b-a39a-c339738f6e8e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/086b5690-4406-486b-a39a-c339738f6e8e', 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'086b5690-4406-486b-a39a-c339738f6e8e', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'3e5d6b4f-2c18-459b-8469-571e875fa5d1', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.895681+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/086b5690-4406-486b-a39a-c339738f6e8e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/086b5690-4406-486b-a39a-c339738f6e8e/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/552d5867-7889-4d73-958e-df8c8644a5d2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/552d5867-7889-4d73-958e-df8c8644a5d2', 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'552d5867-7889-4d73-958e-df8c8644a5d2', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'd7f7faa2-f0b5-4d21-a91a-ab2c2ec002de', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.905998+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/552d5867-7889-4d73-958e-df8c8644a5d2/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/552d5867-7889-4d73-958e-df8c8644a5d2/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/2c6a2149-c52b-4829-89b9-7caf2ab68e0c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2c6a2149-c52b-4829-89b9-7caf2ab68e0c', 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'2c6a2149-c52b-4829-89b9-7caf2ab68e0c', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'73a6aa50-6b83-4bef-82c2-c17314edaf69', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:45.915672+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/2c6a2149-c52b-4829-89b9-7caf2ab68e0c/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2c6a2149-c52b-4829-89b9-7caf2ab68e0c/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=2c6a2149-c52b-4829-89b9-7caf2ab68e0c'} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.181688s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_server_hardware_type [0.031936s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_with_automated_clean_disabled [0.095527s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_with_timeout [0.089688s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.104653s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.100961s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.110599s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.032075s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.114356s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.128624s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.106194s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.100245s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.088893s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_unknown [0.098105s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.123727s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.064192s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.015206s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.036184s] ... ok GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3d2d42e1-1724-4d99-bd13-0a55085acbf9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.059315s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.013793s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.028661s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.020557s] ... 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-c2a34b3e-c42a-4974-90bd-9e598ca64b4a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.027490s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.058184s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_ok [0.028724s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_start_console [0.094226s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.037336s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.101533s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_force_boot_device_persistent [0.086520s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.089684s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_netboot [0.144407s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.194454s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.031951s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.159783s] ... 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-d53fc245-690a-4158-bd38-b337ac7f2272 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.120322s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_without_is_whole_disk_image [0.113785s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.022590s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.025201s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.027493s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.019053s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info [0.070198s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBaseDriver.test_class_variables_immutable [0.013681s] ... ok {0} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_inspector_driver [0.024721s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.093314s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.092477s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.093104s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.096865s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.013815s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.013580s] ... ok PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-3845e208-5208-47eb-8ed1-d9b0f6991b57 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.013784s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.065368s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.021176s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.014954s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.026570s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.023678s] ... 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-cf2997ad-dc30-4f34-a1e8-eaaf7f036a89 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is only valid when setting target provision state to clean\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.094510s] ... 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-9c2f5c78-c082-4bc5-a2fc-feaa9fd1610d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.105730s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-f61e769b-7495-4819-b345-eea709c851da X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.284353+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'enroll', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.284353+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_default_state_enroll [0.137420s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'3a1e5abb-630d-4f45-a671-4bc559a3fdaa', u'links': [{u'href': u'http://localhost/v1/portgroups/3a1e5abb-630d-4f45-a671-4bc559a3fdaa', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/3a1e5abb-630d-4f45-a671-4bc559a3fdaa', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'5bbc68c3-7e09-441a-9643-f5d31d6b97eb', u'links': [{u'href': u'http://localhost/v1/portgroups/5bbc68c3-7e09-441a-9643-f5d31d6b97eb', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/5bbc68c3-7e09-441a-9643-f5d31d6b97eb', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'ecff003c-8a98-420e-a845-34168273f928', u'links': [{u'href': u'http://localhost/v1/portgroups/ecff003c-8a98-420e-a845-34168273f928', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/ecff003c-8a98-420e-a845-34168273f928', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'a4829a42-b1e7-4a27-9af0-76343785bca3', u'links': [{u'href': u'http://localhost/v1/portgroups/a4829a42-b1e7-4a27-9af0-76343785bca3', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a4829a42-b1e7-4a27-9af0-76343785bca3', u'rel': u'bookmark'}], u'name': u'portgroup3'}, {u'address': u'52:54:00:cf:2d:34', u'uuid': u'0df81d48-0afa-4d98-bb35-684628a536c2', u'links': [{u'href': u'http://localhost/v1/portgroups/0df81d48-0afa-4d98-bb35-684628a536c2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0df81d48-0afa-4d98-bb35-684628a536c2', u'rel': u'bookmark'}], u'name': u'portgroup4'}]} {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.151988s] ... 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-75c729cc-df41-4450-8a10-8ae9feb7b038 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.078117s] ... 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-1b0074d2-138e-4df6-9049-b92f0bcf89ca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.058803s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_invalid_values [0.017671s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.014610s] ... ok GET: /v1/ports?fields=uuid,extra {} GOT:{u'ports': [{u'uuid': u'ca8c2212-48b2-49d6-a4ad-5c1deef867c2', u'links': [{u'href': u'http://localhost/v1/ports/ca8c2212-48b2-49d6-a4ad-5c1deef867c2', u'rel': u'self'}, {u'href': u'http://localhost/ports/ca8c2212-48b2-49d6-a4ad-5c1deef867c2', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'1bfba850-a4e0-4f9d-8c52-67124e3a205d', u'links': [{u'href': u'http://localhost/v1/ports/1bfba850-a4e0-4f9d-8c52-67124e3a205d', u'rel': u'self'}, {u'href': u'http://localhost/ports/1bfba850-a4e0-4f9d-8c52-67124e3a205d', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'5169c553-46b3-44ad-9ed2-60a320b961ee', u'links': [{u'href': u'http://localhost/v1/ports/5169c553-46b3-44ad-9ed2-60a320b961ee', u'rel': u'self'}, {u'href': u'http://localhost/ports/5169c553-46b3-44ad-9ed2-60a320b961ee', u'rel': u'bookmark'}], u'extra': {}}]} {28} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.119692s] ... 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'f77cd48c-14ef-4089-9c60-c9982a2b9010', u'links': [{u'href': u'http://localhost/v1/ports/f77cd48c-14ef-4089-9c60-c9982a2b9010', u'rel': u'self'}, {u'href': u'http://localhost/ports/f77cd48c-14ef-4089-9c60-c9982a2b9010', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2018-08-14T14:39:46.434858+00:00'}, {u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'814d354f-23dc-4c0d-a160-a774d6b565e7', u'links': [{u'href': u'http://localhost/v1/ports/814d354f-23dc-4c0d-a160-a774d6b565e7', u'rel': u'self'}, {u'href': u'http://localhost/ports/814d354f-23dc-4c0d-a160-a774d6b565e7', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2018-08-14T14:39:46.440372+00:00'}]} {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.113539s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1dbc0333-e1b8-4f03-97bd-aa34112c52a0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.062866s] ... 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-edca2233-22f4-4611-82d3-578252117ef1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.511050+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} 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-cb88b2d6-4df6-4953-acb3-53572e2b2e4a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.104713s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.060136s] ... 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-32f84ed4-7f83-4ed9-8a8c-697f7f266558 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.059286s] ... ok {9} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.127075s] ... ok {9} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.015540s] ... ok {9} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.027404s] ... ok {9} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_no_interfaces [0.121205s] ... ok {9} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_dynamic_driver_and_interfaces [0.153972s] ... ok {9} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.020361s] ... ok {9} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.013177s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.014422s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.019499s] ... ok {9} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.087855s] ... ok {9} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.089932s] ... ok {9} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.020404s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.124186s] ... ok {9} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.036647s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.099162s] ... ok {9} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.025173s] ... ok {9} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.013827s] ... ok {9} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.013840s] ... ok {9} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.022265s] ... ok {9} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.326879s] ... 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-0c15207b-03ef-46f3-ab72-4cb25dbc22ff X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.054220s] ... 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-16ede1a1-d33c-4f90-8405-36c112485536 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {9} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.409605s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.071860s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat [0.387655s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.339162s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [1.144391s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_deploy_timeouts [0.434004s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.254607s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_not_supported [0.102006s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.374148s] ... ok {9} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.144727s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.127716s] ... ok {9} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.269910s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.021449s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.022298s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.019258s] ... 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'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-66939dae-3c3c-4e41-984b-6d0fba724c50 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.098526s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.017793s] ... ok {9} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.023224s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.123420s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.158499s] ... ok {9} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.099163s] ... ok POST: /v1/heartbeat/test.1 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-716c754b-a259-462b-bff2-79956b62d45f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {9} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.099706s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.068490s] ... ok {9} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.101582s] ... ok {9} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.030218s] ... ok {9} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.043930s] ... ok {9} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.056126s] ... 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-c03bc91f-2094-4721-a3a1-196d3dbccbde X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"foo\"}"} {9} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.041726s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.080938s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.044786s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.043427s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.063012s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.062199s] ... 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": "404 Not Found\n\nThe resource could not be found.\n\n "} {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.131070s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.044363s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.125244s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.163304s] ... 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-9005aa8f-83cb-4e28-a4cd-c0ea86887d48 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.056292s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.077982s] ... 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-c32929df-525d-4844-b99a-a43fef3fc0b6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.570780+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": "******"}} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.102027s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.034801s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.116929s] ... 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-5df8c64c-bb9a-43d1-9f37-5479c30e72a0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.079972s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.042640s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.014638s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_processing_on_any_url_fails [0.108383s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.140565s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.036738s] ... ok GET: /v1/nodes?associated=true&maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': u'de386844-2ade-4f43-bfcc-29f8a848ecc3', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/cdb47823-d43a-4af7-83e1-04298c7e0d47', u'rel': u'self'}, {u'href': u'http://localhost/nodes/cdb47823-d43a-4af7-83e1-04298c7e0d47', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'cdb47823-d43a-4af7-83e1-04298c7e0d47'}, {u'instance_uuid': u'aca9cb8d-0939-4c9c-b667-edcfbd5ecd70', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f161db2a-a070-4f06-b2ed-8a889976761e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f161db2a-a070-4f06-b2ed-8a889976761e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f161db2a-a070-4f06-b2ed-8a889976761e'}, {u'instance_uuid': u'8481337c-13b5-42dc-9549-0561138630ce', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4a61da13-ba74-4898-903e-66890d8c4dc2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4a61da13-ba74-4898-903e-66890d8c4dc2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4a61da13-ba74-4898-903e-66890d8c4dc2'}, {u'instance_uuid': u'59e318b1-1ff7-49c6-95d2-b665d9853b97', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6984a9aa-0c8b-4b2f-8a8b-1a766ef85584', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6984a9aa-0c8b-4b2f-8a8b-1a766ef85584', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6984a9aa-0c8b-4b2f-8a8b-1a766ef85584'}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': u'0c822865-6d93-4127-9786-55893abc708b', 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'0c822865-6d93-4127-9786-55893abc708b', 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'}]} {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.128825s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.323942s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.083145s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.032644s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.031149s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.029200s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.075593s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.068898s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.454301s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.098542s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.102473s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_no_deprecation_if_removing_vif [0.106900s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.326333s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.211935s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id_portgroup [0.110326s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.095058s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.118696s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.093178s] ... ok {9} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_active_node [0.730480s] ... ok {9} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_for_node_not_in_use_by_ironic [0.121922s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.031286s] ... ok {9} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.148735s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.124611s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.052657s] ... ok DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-20f70500-b45d-4328-b5bc-8c9ccc988dad X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {30} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.086921s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.113345s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.016869s] ... 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-193b8ca9-fb15-4a21-a674-7e8925420bb3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.063847s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.019199s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_valid_values [0.013781s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.027520s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs_fail [0.017533s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.013456s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.012952s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.015699s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.015452s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.016689s] ... ok PUT: /v1/nodes/node-39/traits/bad_trait {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9b7bbce9-a24c-4126-ad1f-7ef631583af7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {9} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.025373s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.078374s] ... ok {9} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.019381s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.103177s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.087709s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console_fail [0.124129s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.065219s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.033780s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_ok [0.096856s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_supported_boot_devices [0.089699s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.088177s] ... ok {9} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.078138s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.080518s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.046784s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.046504s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.027949s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.025800s] ... 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'}]} {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.082732s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.012548s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.012922s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.049246s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.013500s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.033213s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_mandatory_key [0.020238s] ... ok {9} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.073887s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.015880s] ... ok {9} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.082242s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class_fail [0.015365s] ... ok {9} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.014706s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class [0.015571s] ... ok {9} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables_immutable [0.012855s] ... ok {9} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.012955s] ... ok {9} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_agent_driver [0.003022s] ... ok {9} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.061370s] ... ok {9} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.016011s] ... ok {9} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.022398s] ... ok {9} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.068047s] ... 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-b091b4a4-e341-4156-8dc8-0255ed6cac20 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.095625s] ... ok {9} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.014987s] ... ok {9} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.012952s] ... ok GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'created_at': {}, u'next': {}, u'updated_at': {}, u'ports': []} {30} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.066874s] ... ok GET: /v1/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'87253093-dfd0-4fc1-bff0-bf2ff092289c', u'links': [{u'href': u'http://localhost/v1/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c', u'rel': u'self'}, {u'href': u'http://localhost/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.079494+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'87253093-dfd0-4fc1-bff0-bf2ff092289c', u'links': [{u'href': u'http://localhost/v1/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c', u'rel': u'self'}, {u'href': u'http://localhost/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.079494+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/87253093-dfd0-4fc1-bff0-bf2ff092289c {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'87253093-dfd0-4fc1-bff0-bf2ff092289c', u'links': [{u'href': u'http://localhost/v1/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c', u'rel': u'self'}, {u'href': u'http://localhost/ports/87253093-dfd0-4fc1-bff0-bf2ff092289c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.079494+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {9} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.028100s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.122799s] ... ok {9} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.025748s] ... ok {9} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.014258s] ... 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-d8d9099f-670b-45a3-8e67-679c85aa424c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} GET: /v1/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.062062s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.042653s] ... 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-f55560f1-8751-4fa4-8bd1-739c76092127 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {9} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.014012s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.066165s] ... 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-3fa319e5-8fdb-4c6a-a28b-94fc2b74415a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {9} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.013592s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.068470s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.012181s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.009355s] ... 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'} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.081242s] ... 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": "404 Not Found\n\nThe resource could not be found.\n\n "} {9} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.012596s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.039743s] ... ok {9} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.013848s] ... 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-ace2ac8a-89de-4631-9c2d-82e12fb8d101 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.077646s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.014730s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.017808s] ... 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-b623a84f-8840-4765-9a5a-fdc574d24cc5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.067866s] ... 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'2018-08-14T14:39:46.551996+00:00'}]} {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.098751s] ... 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-94c81cc8-aefb-4a59-aa62-5c372a2c16a8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/power_state' is an internal attribute and can not be updated\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.067765s] ... ok PATCH: /v1/nodes/c2ecbd2d-5989-4f1c-ad6f-306eb9972994 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e8913a14-4072-4bb8-8545-7b4a2a02c806 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/c2ecbd2d-5989-4f1c-ad6f-306eb9972994", "rel": "self"}, {"href": "http://localhost/nodes/c2ecbd2d-5989-4f1c-ad6f-306eb9972994", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/c2ecbd2d-5989-4f1c-ad6f-306eb9972994/states", "rel": "self"}, {"href": "http://localhost/nodes/c2ecbd2d-5989-4f1c-ad6f-306eb9972994/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "c2ecbd2d-5989-4f1c-ad6f-306eb9972994", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.217946+00:00", "ports": [{"href": "http://localhost/v1/nodes/c2ecbd2d-5989-4f1c-ad6f-306eb9972994/ports", "rel": "self"}, {"href": "http://localhost/nodes/c2ecbd2d-5989-4f1c-ad6f-306eb9972994/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.105579s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d92122e1-eb8a-41c9-984a-6cf585dfedef {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {19} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.039942s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e9fcee7d-91f0-420e-b124-914724f3db5b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.078090s] ... 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': {}} {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.075044s] ... 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-e75af63e-85cb-486f-8ad6-5c6bed6ced11 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.069802s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-193900f0-b295-4580-ac33-ea48c4c284a2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.091786s] ... ok GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f8dc2d77-fcf6-4165-9353-ec9340cd152a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {30} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.075117s] ... ok GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cd4a81e9-a7bc-4ff6-9d73-8444cc2b5d77 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.063711s] ... 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-f4a177de-8e22-452d-9a50-ad991a967933 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.066206s] ... 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'4c80794c-fc50-4cbe-8e64-6358d4e9df6f', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/4c80794c-fc50-4cbe-8e64-6358d4e9df6f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4c80794c-fc50-4cbe-8e64-6358d4e9df6f', 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'}}} {10} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.121844s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values [0.013556s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.035324s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs_fail [0.018843s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties [0.015261s] ... 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-5f62cffa-edee-4a54-be97-86656bef2973 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.059716s] ... 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-2eabdd12-4446-42b9-b897-d85a1415ac51 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.068116s] ... 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-b6eda4c6-d85b-4fda-bb31-beede9f4bc26 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.047198+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"}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.112103s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-1f75e4c1-977d-4348-835b-5b0a9b779f96 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {20} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.073318s] ... ok GET: /v1/ports/detail {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'7c101a96-12eb-4205-9127-1061407ad68a', u'links': [{u'href': u'http://localhost/v1/ports/7c101a96-12eb-4205-9127-1061407ad68a', u'rel': u'self'}, {u'href': u'http://localhost/ports/7c101a96-12eb-4205-9127-1061407ad68a', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.647594+00:00', u'updated_at': None, u'address': u'66:44:55:33:11:22'}]} {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.067922s] ... 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-21d099be-c91d-42b1-8f45-8d73072dbeca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.071509s] ... ok DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-91435387-d67d-4117-ac15-4c45376e463c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.057869s] ... 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-7f8c30bd-2b8c-4e8f-8058-e8a884d0db42 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.058424s] ... ok GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.038276s] ... ok DELETE: /v1/portgroups/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 52:54:00:cf:2d:31. "} {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.046976s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d458e884-6c5f-45e3-aa1f-ef2fdd234f39 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\"}"} 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'}]} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.082233s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.080741s] ... ok POST: /v1/nodes/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.048139s] ... 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-02a82b69-56a7-4a75-940e-0d55c050a33a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.045715+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'foo'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e93aa28d-a0d1-401d-8186-7985ad1ff0e4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.161044+00:00"} {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.106038s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id_deprecated [0.125453s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-943f3146-96a4-40cd-90db-b360dd600c6f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.430547+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.430547+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.111404s] ... 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-0859747d-70e7-469e-9c16-2123389c1165 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {6} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.063015s] ... ok PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dcc32f31-4990-4c2c-b87e-8ec2c74a83c6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.087510s] ... ok GET: /v1/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.043886s] ... 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'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {19} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.041916s] ... ok {19} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.138224s] ... ok {19} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_allowed_interfaces [0.053824s] ... ok {19} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_unsupported_hw_type [0.014696s] ... 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/b439a976-e467-457d-ae95-a6ad567664d9 Openstack-Request-Id: req-109a74af-842e-4a9a-84d7-d3798be3695c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "b439a976-e467-457d-ae95-a6ad567664d9", "links": [{"href": "http://localhost/v1/portgroups/b439a976-e467-457d-ae95-a6ad567664d9", "rel": "self"}, {"href": "http://localhost/portgroups/b439a976-e467-457d-ae95-a6ad567664d9", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.774789+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/b439a976-e467-457d-ae95-a6ad567664d9/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b439a976-e467-457d-ae95-a6ad567664d9/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/b439a976-e467-457d-ae95-a6ad567664d9 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'b439a976-e467-457d-ae95-a6ad567664d9', u'links': [{u'href': u'http://localhost/v1/portgroups/b439a976-e467-457d-ae95-a6ad567664d9', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/b439a976-e467-457d-ae95-a6ad567664d9', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.774789+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/b439a976-e467-457d-ae95-a6ad567664d9/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/b439a976-e467-457d-ae95-a6ad567664d9/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.127174s] ... ok {19} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.021786s] ... ok {19} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.017110s] ... ok {19} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.012544s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-08a9ab63-3d9f-44f3-8678-c28e695fa079 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.079735+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.079735+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'******'}} {19} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.011700s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.127773s] ... ok {19} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.018769s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.074909s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.094416s] ... ok {19} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.018988s] ... ok {19} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.025927s] ... ok {19} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.026939s] ... 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-f9673d40-0ef5-4022-8733-ec3d0b0e09a8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2018-08-14T14:39:52.853404+00:00", "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-08-14T14:39:52.788541+00:00"} {19} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.280343s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.129469s] ... ok {19} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.039293s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.341147s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.170420s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_validate_fail [0.091389s] ... ok {19} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.396949s] ... ok {19} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.039631s] ... ok {19} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.060389s] ... ok {19} ironic.tests.unit.conductor.test_manager.ManagerTestHardwareTypeProperties.test_hardware_type_properties_manual_management [0.216512s] ... 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-672210de-2528-4401-909b-cd636db18b6a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.064774s] ... ok {19} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.167690s] ... ok {19} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.417827s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.021304s] ... ok {19} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.020633s] ... 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-18fe85e1-4a00-402d-9e92-11b1272b6ac3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.158484+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {19} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.133574s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.104526s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.025808s] ... ok DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-36cebf5b-6496-4e86-b567-357461b6d751 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.060941s] ... ok {19} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout [0.018754s] ... ok {19} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.021690s] ... ok {19} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.018441s] ... ok {19} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.101761s] ... ok {19} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.964890s] ... ok {19} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.104526s] ... ok {19} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_same [0.102667s] ... 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-cc1942f6-de60-4366-b915-025a3069d3d6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.439162+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-59316678-b15e-4972-afbf-e8f501ceed83 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c5e28675-61bc-49c5-9555-48452ab57069 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3c9f5b3a-bd2c-4c98-ad7a-4bda7b309f2b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8a223f9f-4b0b-4cd0-b61b-9c8fc02671c6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5ddd9db1-0556-4901-97b4-64081fb31282 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'power_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9c68aace-8d1d-4133-9315-fd34035e4499 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1da292e5-20f8-4666-b8b4-ca72a638afc9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3ec919e2-b1ea-41e0-be92-520d9949feed X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.119361s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.149529s] ... ok {19} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.041151s] ... ok {19} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.070644s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.033050s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.052263s] ... ok {19} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.037039s] ... ok {19} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.036080s] ... ok {19} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.032776s] ... ok {19} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.050281s] ... ok {19} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.039369s] ... ok {19} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.051663s] ... ok {19} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.014707s] ... ok {19} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.014970s] ... 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'2018-08-14T14:39:47.077929+00:00'}]} {20} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.096317s] ... ok {19} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.105965s] ... ok {19} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.128180s] ... ok {19} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.101240s] ... ok {19} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_username [0.032852s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-2a84adce-b9ed-4e3f-ab58-b6ab5e83df12 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:47.104657+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:47.104657+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {19} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change [0.088881s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.133050s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.094251s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.045189s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.043106s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.042361s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed [0.124367s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.039988s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration [0.174966s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.122907s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance [0.170153s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.068830s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.118183s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.056466s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.094099s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.098804s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.093457s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.081875s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.081036s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.196156s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.197422s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.078674s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.099494s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.487737s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.031368s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.103203s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.112829s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.311949s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.121259s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.131737s] ... ok {19} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_validate [0.095830s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.084680s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.095357s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.135319s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.129734s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.222735s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.016992s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.017106s] ... ok {19} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.020686s] ... ok {19} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.053536s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} 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-c5d706d5-a42f-43ac-90dd-d8321798be1d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.044345s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.080100s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_custom_interface [0.098297s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.145510s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.098672s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.031360s] ... ok POST: /v1/ports {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9b8660bd-0e00-4f8c-b518-550120ca7da4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.071609s] ... ok {19} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.026802s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.021569s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.139814s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.112056s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.098366s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.096704s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.040468s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_fail [0.096916s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot [0.103505s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.080992s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.121894s] ... 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-e74c3756-7e25-4b9b-92d5-afbf1b42d32c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/address' is a mandatory attribute and can not be removed\"}"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.063025s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.079746s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.035313s] ... 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-a79797a0-9d43-4c98-92e4-dd0b8ae88f17 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.099006s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.038214s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.048596s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.027806s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.028269s] ... ok {19} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate_fail [0.086739s] ... ok {19} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.035395s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-69b5c2a5-ce4e-49b8-862b-b6c5937484ec X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'noop', 'neutron'].\"}"} {19} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.116958s] ... ok {19} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.035915s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.066300s] ... ok {19} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.019611s] ... ok {19} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.021481s] ... ok {19} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.014794s] ... ok {19} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.044345s] ... 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'2018-08-14T14:39:47.412458+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'2018-08-14T14:39:47.412458+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} {30} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.106770s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-404d913c-511c-4a76-8113-1d49c4a34776 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.093144s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{u'traits': [u'CUSTOM_1', u'CUSTOM_2']} {21} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.089176s] ... ok GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{u'ports': []} {30} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.055989s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': []} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.055553s] ... 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-4e16a243-ba5f-49a5-abb6-6a035c0315c8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.064941s] ... 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-a5606062-09f5-4846-bf32-99d90ccbfe47 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.079796s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.015074s] ... 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'e4a5fbb3-8c8d-4f30-a8a0-23f0dd015298', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e4a5fbb3-8c8d-4f30-a8a0-23f0dd015298', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e4a5fbb3-8c8d-4f30-a8a0-23f0dd015298', 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'0deed532-13d7-4f26-9ef4-40ad5d1189e5', u'links': [{u'href': u'http://localhost/v1/volume/connectors/0deed532-13d7-4f26-9ef4-40ad5d1189e5', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/0deed532-13d7-4f26-9ef4-40ad5d1189e5', 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'8fe68c6c-5a9b-4ae1-b9ff-d222d624893f', u'links': [{u'href': u'http://localhost/v1/volume/connectors/8fe68c6c-5a9b-4ae1-b9ff-d222d624893f', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/8fe68c6c-5a9b-4ae1-b9ff-d222d624893f', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&limit=3&marker=8fe68c6c-5a9b-4ae1-b9ff-d222d624893f'} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.122095s] ... 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'76929779-928b-4a13-933c-36d55ddd9b35', u'links': [{u'href': u'http://localhost/v1/portgroups/76929779-928b-4a13-933c-36d55ddd9b35', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/76929779-928b-4a13-933c-36d55ddd9b35', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {28} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.083259s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.049087s] ... 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-b3ff337e-e1d7-46e2-aa53-16f79d05dcf1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.069131s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c6edf1b-89f4-4a9a-9fb9-44fffa5d279b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: set(['port_id'])\"}"} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.083922s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'4742fac0-8354-41a9-b280-51ecba57222a', u'links': [{u'href': u'http://localhost/v1/portgroups/4742fac0-8354-41a9-b280-51ecba57222a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/4742fac0-8354-41a9-b280-51ecba57222a', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'693f12fc-a11c-4c2c-94c2-e39a6298edb7', u'links': [{u'href': u'http://localhost/v1/portgroups/693f12fc-a11c-4c2c-94c2-e39a6298edb7', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/693f12fc-a11c-4c2c-94c2-e39a6298edb7', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'88f7c2e2-1249-474e-bd73-383e5d3e6b63', u'links': [{u'href': u'http://localhost/v1/portgroups/88f7c2e2-1249-474e-bd73-383e5d3e6b63', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/88f7c2e2-1249-474e-bd73-383e5d3e6b63', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=88f7c2e2-1249-474e-bd73-383e5d3e6b63'} {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.120095s] ... 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'bbcb87e7-ae17-4e44-a2ff-26d30b31cb12', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/bbcb87e7-ae17-4e44-a2ff-26d30b31cb12', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bbcb87e7-ae17-4e44-a2ff-26d30b31cb12', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.211579s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value [0.018320s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups_subcontrollers [0.015149s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs [0.015896s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.015281s] ... 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-343d9fd9-88f4-42f5-9173-dec734f17746 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.080791s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-30bcd623-d84b-425a-abc5-cb2c482806c7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "value3", "port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:46.843043+00:00"} {6} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.130897s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9952fc4e-92c1-4f57-a011-46db77eb151e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.098052s] ... ok GET: /v1/ports?sort_key=uuid {} GOT:{u'ports': [{u'uuid': u'22f3b1d4-8ec0-4908-83fa-20b39cd524db', u'links': [{u'href': u'http://localhost/v1/ports/22f3b1d4-8ec0-4908-83fa-20b39cd524db', u'rel': u'self'}, {u'href': u'http://localhost/ports/22f3b1d4-8ec0-4908-83fa-20b39cd524db', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'2b25d34a-2757-4d97-ae41-264913d7d7fa', u'links': [{u'href': u'http://localhost/v1/ports/2b25d34a-2757-4d97-ae41-264913d7d7fa', u'rel': u'self'}, {u'href': u'http://localhost/ports/2b25d34a-2757-4d97-ae41-264913d7d7fa', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'9794470a-67aa-4caf-b058-b5eeda91924b', u'links': [{u'href': u'http://localhost/v1/ports/9794470a-67aa-4caf-b058-b5eeda91924b', u'rel': u'self'}, {u'href': u'http://localhost/ports/9794470a-67aa-4caf-b058-b5eeda91924b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {20} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.111911s] ... 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-4206dc79-c4fd-4cc2-b81c-a2f24f6fb40e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:52.995488+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2231b2a4-9bcb-409f-91d1-ba069b56b25f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.189251+00:00"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.132406s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.134956s] ... ok GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'ports': [{u'uuid': u'8f163dda-be9b-408a-859a-dffaced34bae', u'links': [{u'href': u'http://localhost/v1/ports/8f163dda-be9b-408a-859a-dffaced34bae', u'rel': u'self'}, {u'href': u'http://localhost/ports/8f163dda-be9b-408a-859a-dffaced34bae', u'rel': u'bookmark'}], u'address': u'aa:bb:cc:dd:ee:f1'}]} {21} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.094837s] ... 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-78503c0b-3e46-443b-9e92-6d43112b52c6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.057578s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '8d86962b-2b1f-4ae5-accf-d2ff42cb2d2f', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2323b6a-4eb0-4335-80dd-59b9b76ab4fa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "8d86962b-2b1f-4ae5-accf-d2ff42cb2d2f", "updated_at": "2018-08-14T14:39:46.630502+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-08-14T14:39:46.558445+00:00"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.136042s] ... 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-ac3ef2df-a966-4acf-9517-5051120f7442 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.058040s] ... 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': {}} {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.075388s] ... 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-d7d5bb63-7ab5-4a22-9753-98cb9fd8c35c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.068255s] ... ok GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2c38111a-e078-4c12-8321-023fa237b8b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.055121s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': '', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bb37d9ea-98b6-482b-8cf5-874e9ad93202 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.050009s] ... 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-96632400-a495-436d-ae1d-d47bf014d7be X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.091231s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d54630e4-e4ed-4ed6-a267-0efbc817244a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.054930s] ... ok GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0c5a192-41e1-4034-a48d-6da85e88ff3a {"default_version": {"status": "CURRENT", "min_version": "1.1", "version": "1.38", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "versions": [{"status": "CURRENT", "min_version": "1.1", "version": "1.38", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}], "name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines."} GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2eef131c-4558-4b86-aaab-985389e9b5e9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} {12} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.072911s] ... ok {12} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.028911s] ... 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-84f18c9b-cff1-4f05-b815-3959826172e1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2eeae652-7371-42b5-94bf-864cc359de72 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b7c02be5-a07e-444d-8fbd-22127a57d6d7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.143985s] ... 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'2018-08-14T14:39:48.145207+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.080864s] ... ok GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-25d8785b-fef4-4bd1-ba18-9e923d9edebd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.048619s] ... 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-3e90f2d2-a353-4118-bcba-2653767008d3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.079530s] ... 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-df2b5eb4-564e-4b12-a7a5-4238dfa109c8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb954245-c6fa-469b-aee1-c478bbdb7d9b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.091087s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.049677s] ... ok PATCH: /v1/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91007289-1a66-42ed-a0ae-2b64ad53c06f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f", "rel": "self"}, {"href": "http://localhost/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/states", "rel": "self"}, {"href": "http://localhost/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "5daae55b-c199-4ca1-a3da-b4a420ae147f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/volume", "rel": "self"}, {"href": "http://localhost/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.763654+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/ports", "rel": "self"}, {"href": "http://localhost/nodes/5daae55b-c199-4ca1-a3da-b4a420ae147f/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.102366s] ... 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'2018-08-14T14:39:47.627856+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'} PATCH: /v1/portgroups/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 52:54:00:cf:2d:31. "} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.079735s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.049411s] ... ok GET: /v1/volume/targets/?limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'59681758-74c4-4ef9-88d1-d1ad9cd1fba0', u'links': [{u'href': u'http://localhost/v1/volume/targets/59681758-74c4-4ef9-88d1-d1ad9cd1fba0', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/59681758-74c4-4ef9-88d1-d1ad9cd1fba0', 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'4b229f69-94eb-45d3-835e-9518e58897c8', u'links': [{u'href': u'http://localhost/v1/volume/targets/4b229f69-94eb-45d3-835e-9518e58897c8', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/4b229f69-94eb-45d3-835e-9518e58897c8', 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'aed1f0e9-6d68-469f-add7-8652f7ff47df', u'links': [{u'href': u'http://localhost/v1/volume/targets/aed1f0e9-6d68-469f-add7-8652f7ff47df', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/aed1f0e9-6d68-469f-add7-8652f7ff47df', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&limit=3&marker=aed1f0e9-6d68-469f-add7-8652f7ff47df'} {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.129905s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_traits [0.015000s] ... ok {7} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.026004s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs [0.015523s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class_fail [0.015138s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.016452s] ... 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-6be705d6-7585-4f1c-9322-1df40da330de X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute type. Value: 'None'. Mandatory field missing.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.053973s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c69334b6-b5c9-4d72-8527-1f4e9f23bba5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {12} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.037853s] ... ok {12} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions [0.028508s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.043002s] ... ok func1() migrated 10 of 15 objects. {12} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.022929s] ... ok {12} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.127159s] ... ok {12} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.027854s] ... ok {12} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.024066s] ... ok {12} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.014288s] ... ok {12} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.054490s] ... ok {12} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_default_v1 [0.019602s] ... ok {12} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.027305s] ... ok {12} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.104003s] ... ok {12} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.090442s] ... 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-3f7189dc-673c-48d4-8ba3-448b0a760435 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.055323s] ... ok {12} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment_no_physnet [0.020330s] ... ok {12} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.091562s] ... ok {12} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.117241s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.050867s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.035623s] ... ok {12} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.074013s] ... ok {12} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.013853s] ... ok {12} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.127603s] ... ok {12} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.123709s] ... ok {12} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.035743s] ... ok {12} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_skip_if_no_hw_types [0.025088s] ... 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-b5fd628f-56cf-4b83-b356-045637cc1bb7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.071287s] ... ok {12} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.300376s] ... ok {12} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.305513s] ... ok {12} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.096241s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.335184s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_driver_raises_error [1.079715s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_manual_clean [0.337223s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_manage [0.349221s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.131696s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.020646s] ... ok GET: /v1/portgroups?node=test-node {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'5ca4bf01-a886-4b0b-b13f-0396ed88302e', u'links': [{u'href': u'http://localhost/v1/portgroups/5ca4bf01-a886-4b0b-b13f-0396ed88302e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/5ca4bf01-a886-4b0b-b13f-0396ed88302e', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'a294f669-70da-4b53-9c26-74bd90060aab', u'links': [{u'href': u'http://localhost/v1/portgroups/a294f669-70da-4b53-9c26-74bd90060aab', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a294f669-70da-4b53-9c26-74bd90060aab', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'f193ad80-897c-48f9-a140-5ad0020dac21', u'links': [{u'href': u'http://localhost/v1/portgroups/f193ad80-897c-48f9-a140-5ad0020dac21', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f193ad80-897c-48f9-a140-5ad0020dac21', u'rel': u'bookmark'}], u'name': u'portgroup2'}]} {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.122940s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.050733s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.029408s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.019034s] ... ok {12} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.016666s] ... ok {12} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.017467s] ... ok {12} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.091154s] ... ok {12} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.020690s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.016642s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.038494s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.043513s] ... ok {12} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.016377s] ... ok {12} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.063158s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.019535s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.036147s] ... ok {12} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.065052s] ... ok {12} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.037540s] ... ok {12} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.034124s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.083900s] ... 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-0c1019d1-300a-46f4-94bb-31266120d207 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.693254+00:00", "updated_at": "2018-08-14T14:39:46.749728+00:00", "address": "aa:bb:cc:dd:ee:ff"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.109749s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.075200s] ... 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-623de637-c18b-4c5c-88d8-e9f8baf27499 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/value', 'op': 'remove'}]'. Reason: can't remove non-existent object 'value'\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.066717s] ... ok {12} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.035334s] ... ok {12} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.041144s] ... ok {12} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.103281s] ... ok {12} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.032541s] ... ok {12} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device_fail [0.102860s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.090379s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.027936s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.029740s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job [0.116281s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_exc [0.098335s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_recreate_boot_iso_use_webserver [0.130226s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.037151s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.098150s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.096203s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.110616s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.086195s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.031945s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.028623s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.020039s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.030951s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.108954s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.117047s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.141133s] ... 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-87ff0837-f654-4a8f-b2ff-488edf6e778c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2018-08-14T14:39:47.347465+00:00", "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-08-14T14:39:47.280530+00:00"} {20} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.126145s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.021033s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.158763s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.023367s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.123992s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.158610s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a20b8687-1aa8-4ab6-8746-638a3c48d73a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:46.972983+00:00"} {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.281736s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.117907s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.124915s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.105808s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.095376s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.111649s] ... ok {12} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state_fail [0.110017s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.034434s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.130249s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.141208s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.139447s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off [0.146249s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.164577s] ... 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-4930d014-b978-40f9-8559-e2458d66177d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.092763s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.019612s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.049801s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_dev [0.027637s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.014348s] ... ok PATCH: /v1/nodes/c179ca37-aa76-4de8-9319-348af920d946 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7d5b7e05-e13d-4038-a823-9a110134044c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.083983s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.021273s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.084557s] ... ok {12} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.026647s] ... ok {12} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.025406s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.088055s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.038099s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.044100s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state_exception [0.089736s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_properties [0.032247s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.080741s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_ok [0.085083s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-680e63bc-1eb3-4904-8ca9-f1656e1a1915 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.068803s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.085277s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.079355s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.076736s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4334d3de-fe0b-4854-b50d-fee5d0266f3d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.097255s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.024774s] ... ok {17} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.028933s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.028128s] ... ok {17} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.037852s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.023766s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.022422s] ... ok {17} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.110102s] ... ok {17} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.018528s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.022977s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.101467s] ... 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-eb9b2c4e-30af-4450-af68-085cd50f2542 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {17} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.014543s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.066559s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.019186s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.024018s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.018223s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_true [0.014128s] ... ok {12} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.016942s] ... 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-26a2f48c-73f1-4093-af08-9bac902a93c4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.060901s] ... ok {12} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.103432s] ... ok {17} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.017735s] ... ok {12} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.027184s] ... ok {17} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.022292s] ... 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-a3bbd7a4-fefe-4ebb-9817-bf21c577f92b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.055143s] ... ok {12} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.033897s] ... ok {17} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.098405s] ... ok {12} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.015773s] ... ok {17} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.014838s] ... ok {12} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.021758s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.090717s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_ipxe_config_uefi [0.100436s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.101513s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.034768s] ... ok {17} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.013814s] ... ok {17} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.013839s] ... ok {17} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.015176s] ... ok {17} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.080652s] ... ok {17} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.230915s] ... ok {17} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.249057s] ... ok {17} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.102456s] ... ok {17} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.072171s] ... ok {17} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.096123s] ... ok {17} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.592058s] ... ok {17} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.099399s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.751499s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-d2abfb6c-ed0c-4608-8726-89532c7e5a8c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.343583+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:46.343583+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'}}} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_instance_info [0.126787s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.411065s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.344512s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [1.133763s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.340330s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.370879s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.043011s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.196242s] ... ok {17} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.121085s] ... ok {17} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.112579s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.128507s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.220669s] ... ok {17} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.168500s] ... ok {17} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_hw_type [0.276838s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.030233s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.047916s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.050968s] ... ok {17} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.125639s] ... ok {17} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.172782s] ... 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'c9dc09a9-08bb-4041-b5ca-2e501dfb10b1', u'links': [{u'href': u'http://localhost/v1/volume/connectors/c9dc09a9-08bb-4041-b5ca-2e501dfb10b1', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/c9dc09a9-08bb-4041-b5ca-2e501dfb10b1', 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'1d118611-bc3c-4403-871b-3242e2510e00', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1d118611-bc3c-4403-871b-3242e2510e00', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1d118611-bc3c-4403-871b-3242e2510e00', 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'c29a1428-ae51-4969-823b-4360850beed6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/c29a1428-ae51-4969-823b-4360850beed6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/c29a1428-ae51-4969-823b-4360850beed6', u'rel': u'bookmark'}], u'connector_id': u'test-value-2'}]} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.117342s] ... ok {17} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.198445s] ... ok {17} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.195512s] ... ok {17} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.152719s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.127101s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_and_drivers [0.064866s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_with_old_conductor [0.062496s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.037655s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.061795s] ... ok {17} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.067891s] ... ok {17} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.046626s] ... ok {17} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.060569s] ... ok {17} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.063722s] ... ok {17} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.073515s] ... ok {17} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.151119s] ... 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-964cf402-578f-4674-9c48-63d28b8ddd92 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.060598s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.147076s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.145311s] ... ok {17} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login_exception [0.131568s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.068437s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.261888s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.777337s] ... ok {17} 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.070743s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.067906s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_ok [0.056361s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.189980s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.137673s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.186782s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.369612s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.098535s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.138757s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.145867s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.053945s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down [0.149050s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_available_when_not_in_use_by_oneview [0.246139s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_same_server_profile_applied [0.121109s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_node_is_in_use_by_oneview [0.139540s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_properties [0.028128s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_missing_parameter [0.099687s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.109918s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_empty_response [0.090047s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.085855s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot_fail [0.095498s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.026366s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.028913s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.016480s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.018007s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.017718s] ... ok {17} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.014955s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.013133s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_invalid_port [0.069634s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.085298s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.084461s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.084919s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_power_validate [0.079548s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.085699s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.156252s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.134965s] ... ok {17} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.011281s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.074907s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.110151s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_volume_type [0.086898s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1 [0.027859s] ... 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-09f74fef-c5db-4741-bb7f-151f3d7f3adf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.016995s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.068065s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.075610s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.014297s] ... ok {17} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.025344s] ... ok {17} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.081118s] ... ok {17} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_deploy_interface [0.017327s] ... ok {17} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_fail [0.034562s] ... ok {17} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.013841s] ... ok {17} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.028264s] ... ok {17} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.008575s] ... ok {17} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.008553s] ... ok {17} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.008006s] ... ok {17} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.022802s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.008357s] ... ok POST: /v1/ports {'local_link_connection': {'switch_foo': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': 'value1'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7fdb1a0-1ad8-435f-af83-fb06260ea345 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"set(['switch_foo']) are invalid keys\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.075028s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.009576s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.007599s] ... ok {17} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.017122s] ... 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-4d821821-b53d-4377-ae45-58f35f14f15d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.068310s] ... 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-79346223-5cae-48e9-aec7-11b903906298 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.061171s] ... 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6498189b-8b50-435f-b179-619576dcd93f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.076435s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8a67cf35-7dd9-4c9c-9c48-058c771f86d7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.124934+00:00"} {13} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.118415s] ... 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'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {7} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.042817s] ... ok {7} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.036686s] ... ok {7} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.067195s] ... ok {7} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.134893s] ... ok {7} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_dhcp [0.027792s] ... ok {7} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_known [0.016802s] ... ok {7} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.014970s] ... 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-1d02d86b-253b-4d0e-bd08-29fd7ace452b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.073566s] ... ok {7} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.103359s] ... ok {7} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_deprecated_opts [0.028735s] ... ok {28} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.023008s] ... ok {7} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.121444s] ... ok {7} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.096529s] ... ok {7} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.018437s] ... ok {7} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.022530s] ... 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-51594854-a9e3-42b6-a9e5-80276c484a9d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.708062+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"} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.107841s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.033545s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.114356s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.033231s] ... ok {7} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.027089s] ... ok {7} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.026369s] ... ok {7} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.024540s] ... ok {7} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.014021s] ... ok {7} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.013752s] ... ok {7} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_current_release_entry [0.013602s] ... ok {7} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.015042s] ... ok {7} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.014511s] ... ok {7} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.013974s] ... ok func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. {28} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.024160s] ... ok {7} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.013409s] ... ok {7} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.014583s] ... ok {7} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_without_enabled_hardware_types [0.145828s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.361727s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.169798s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_no_skip [0.089057s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.420277s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_invalid_state [0.284974s] ... 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'2018-08-14T14:39:47.454206+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'} {7} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [1.396665s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.087278s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.036720s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-38f4c622-207e-48d7-b83d-2365612aee27 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {7} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.039942s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.072871s] ... 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-8ea3a0e4-60a0-4227-9f2d-2f2c41e9a527 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {7} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.035757s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.052781s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_ipmitool [0.267201s] ... ok {10} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.137007s] ... ok {10} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.098420s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data [0.195886s] ... ok DELETE: /v1/portgroups/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-b04eea58-eff0-42f9-90af-3c85d3c07daf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 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-8a4969b7-9527-469d-9b50-46cb3d202b4f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:47.572251+00:00", "updated_at": "2018-08-14T14:39:47.580381+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-0219e6c6-e55c-4186-b928-4172b2f18bde X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.572251+00:00", "updated_at": "2018-08-14T14:39:47.580381+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"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.081694s] ... ok {10} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000467s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device [0.088046s] ... ok Running batches of 50 until migrations have been completed. {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.174514s] ... ok {28} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.023069s] ... ok {10} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.016542s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_not_supported [0.089397s] ... ok {28} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.113167s] ... ok {10} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.031777s] ... ok {7} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_vendor_interface_not_supported [0.285919s] ... ok {28} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_deprecated_opts [0.033888s] ... ok {7} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.033648s] ... ok {10} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.021915s] ... ok {7} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.031797s] ... ok {28} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task [0.087491s] ... ok {10} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.020064s] ... ok {7} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.022198s] ... ok {28} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.022971s] ... ok {10} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.185488s] ... 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-8fa6ebfd-c500-4f4a-aa6e-d38b91e539ef X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.556410+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"} {28} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_unknown [0.017997s] ... ok {7} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.022634s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.103118s] ... ok {10} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.019120s] ... ok {28} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.085303s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.019792s] ... ok {28} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_none [0.091489s] ... ok {10} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.013657s] ... ok {7} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.044511s] ... ok {28} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.085532s] ... ok {10} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.022059s] ... ok {28} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.018114s] ... ok {7} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.130489s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-911840b9-9625-4527-adc8-48bd92fd7e3c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:47.224239+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-08-14T14:39:47.224239+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.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.111218s] ... ok {10} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.076711s] ... ok {28} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.019033s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': '', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-070690dc-d4a6-4ed1-aba6-8b1c68d1d886 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\"}"} {7} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.145698s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.053416s] ... ok {10} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.230513s] ... ok {7} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.086532s] ... ok {28} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.028768s] ... ok {28} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.096000s] ... ok {7} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.105169s] ... ok {10} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_config_for_configdrive [0.194201s] ... ok {28} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.099757s] ... ok {7} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.100321s] ... ok {10} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_name_conflict [0.032193s] ... ok {10} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.069584s] ... ok {7} ironic.tests.unit.db.test_api.MigrateToHardwareTypesTestCase.test_migrate_unsupported [0.075240s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.338206s] ... ok {28} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.093908s] ... ok {7} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.034091s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.025023s] ... ok {7} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.039103s] ... ok {28} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.097186s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.024576s] ... ok GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2b967a3d-07ee-4452-8f9c-e3cb5a75e2b3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {28} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.015032s] ... ok {7} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.040408s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.057182s] ... ok {28} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.125987s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.024493s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.199571s] ... ok {28} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.017489s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.025482s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.061422s] ... ok {28} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.013807s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.072691s] ... ok {10} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.225071s] ... ok {28} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.019920s] ... ok {28} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_get_mockable_ext_mgr [0.017319s] ... ok {7} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.043559s] ... ok {10} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.346771s] ... ok {28} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.236475s] ... ok {7} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.035203s] ... ok {10} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.160200s] ... ok {10} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.200906s] ... ok {28} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.336794s] ... ok {10} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.148829s] ... ok {7} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.043559s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_disabled [0.022685s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.106639s] ... ok {7} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.102434s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.062960s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_all [1.153155s] ... ok {7} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_ok [0.111466s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.120753s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.022394s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_no_management [0.224088s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.114624s] ... ok {10} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.033109s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state [0.097745s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_snmp [0.205629s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.160986s] ... ok {10} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.033732s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.930795s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.122443s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.021708s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.048482s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.122857s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.022985s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.295710s] ... ok {10} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.017115s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.034170s] ... ok {10} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.085538s] ... ok {28} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_not_supported [0.147683s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.070704s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.025885s] ... ok {10} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {7} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.095122s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.022205s] ... ok {10} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.025951s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.021629s] ... ok {10} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.041796s] ... ok {28} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.034921s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.106015s] ... ok {10} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.039821s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.108614s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.054207s] ... ok {28} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.045966s] ... ok {10} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.031100s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.101137s] ... ok {28} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.655723s] ... ok {10} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.102154s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.097039s] ... ok {10} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.033383s] ... ok {28} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.017550s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.107476s] ... ok {10} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleTestCase.test_cimc_handle [0.114303s] ... 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': 'aa5e63a2-7d16-4fd7-a7f9-3de1748da797'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e9c43fe7-5c30-468b-999a-479843c65e77 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "aa5e63a2-7d16-4fd7-a7f9-3de1748da797"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.064245+00:00"} {28} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.146111s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.091759s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.055694s] ... ok GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-963d7b63-21b2-4ffd-b511-11ca1295e32f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress. Error: Expected a MAC address but received invalid-mac-format.\"}"} {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.133351s] ... ok {28} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.100796s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.056530s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.044608s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.104193s] ... ok {28} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.028554s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.044284s] ... ok {7} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_in_use_by_oneview [0.090324s] ... 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-4e33eec9-5d2b-48c3-be28-883653b8efbd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\"}"} {7} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_true [0.114288s] ... ok {28} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.037461s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.088696s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.120780s] ... ok {7} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail_exception [0.094341s] ... ok {28} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.019365s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.133127s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.078974s] ... ok {28} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.060491s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.092243s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.034499s] ... ok {28} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.065227s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.092105s] ... 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-a6ff3112-2c87-4f74-aad7-105c9cab5614 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-010ea8d0-c830-46ce-9bf6-f94241f94627 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f6302df4-5c59-42fe-bdbe-bbfb9f777c14 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-1123b57a-b447-4408-9220-7dbc0924843e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {7} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.118320s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.229353s] ... ok {28} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.046314s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.035820s] ... ok {7} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.141912s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.017522s] ... ok {28} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.039071s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.182671s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.135418s] ... ok {28} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.104644s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot [0.133955s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.020499s] ... ok {28} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.063051s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.134163s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.139595s] ... ok {28} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_ok [0.101995s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.788821s] ... ok {28} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_fail [0.094061s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.040024s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.026719s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.093405s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.028281s] ... ok {28} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.038692s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.021194s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.090836s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_no_boot_iso [0.035525s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.089725s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.017030s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.101091s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.032908s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.095278s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.032196s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.014783s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.100184s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.116596s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.077288s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.031486s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.014705s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.118661s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.116638s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.030420s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.137139s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.161686s] ... 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-8c907104-daa5-4d1d-8233-0eb16bc0ae35 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.560690+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:aa:aa:11:22:33", "internal_info": {}, "properties": {}, "name": "foo"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.560690+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'} {7} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.043237s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.160409s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.127474s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.105142s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.113164s] ... ok {7} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled [0.025450s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.105419s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.105626s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.018025s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.035529s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.040904s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_without_optional_key [0.013629s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.099683s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.040193s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.104660s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.013505s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.101622s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.034895s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.022223s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.103631s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.042675s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_mac_type_virtual [0.040405s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.130350s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.069045s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client [0.052426s] ... ok GET: /v1/portgroups/b4b8cf7d-ca6d-4012-abac-b004fcb6c4e4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.076638s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device [0.098947s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_deploy [0.102738s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.054742s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.119181s] ... ok {7} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.103910s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_validate [0.098245s] ... ok {7} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.156752s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.263311s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_raise_exception [0.243982s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.048265s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.114338s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.041612s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic_no_server_profile [0.088573s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail_with_hardware_on [0.093311s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.024291s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.079440s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.128195s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.074836s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.022632s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.075249s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.098718s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.089718s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.164738s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_security [0.017597s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.096748s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_doesnt_complete [0.143669s] ... ok {7} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device [0.216106s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.030074s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.045553s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.014570s] ... ok {7} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_supported_boot_devices [0.089597s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.136159s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.040764s] ... ok {7} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_properties [0.061524s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.114937s] ... ok {7} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_driver [0.022281s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection [0.016765s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.062413s] ... ok {10} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.015738s] ... ok {10} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_inspector_not_imported [0.020756s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_validate_oneview_resources_compatibility [0.071170s] ... ok {7} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_driver_interfaces [0.025851s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_onetime_boot_not_persistent [0.059420s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.092937s] ... ok {7} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.023150s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail_with_hardware_off [0.060406s] ... ok {7} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.020286s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.136579s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_on [0.062954s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.097220s] ... ok {7} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.014241s] ... ok {28} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.075674s] ... ok {7} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.015861s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.041550s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered [0.060902s] ... ok {7} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.018982s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.040419s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.092438s] ... ok {7} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.167921s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.137745s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_timeout_ok [0.098352s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning [0.073326s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.031862s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_interface [0.058832s] ... ok {10} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.028179s] ... ok {10} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_is_force_persistent_boot_device_enabled [0.098992s] ... ok {10} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_whole_disk_image [0.034841s] ... ok {28} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.013780s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.022455s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.022681s] ... ok GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2c3d321-5aba-435e-b8e7-587cf3cd1cc0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a6258f3c-5de6-4862-b878-b959dd9464e9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32f517be-5908-440c-8c4a-d0be6400f54a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=local_link_connection {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a9aaf8c2-18ad-48ae-a701-b62f3e44685b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\"}"} {28} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.017321s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.072355s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.018993s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.024833s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.069547s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.077547s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.042833s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id [0.055323s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.033166s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.011799s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.031781s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.020414s] ... ok {10} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate [0.074324s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.056484s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.056201s] ... ok {10} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.105745s] ... ok {10} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.105342s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.051307s] ... ok {10} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.015052s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.051139s] ... ok {10} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.014667s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.023823s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.022016s] ... ok {10} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.018095s] ... ok {10} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.096907s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_good [0.068108s] ... ok {10} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_validate [0.024987s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_ok [0.053616s] ... ok {10} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_not_mounted_exception [0.003759s] ... ok {28} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.076233s] ... ok {10} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver_import_error [0.002699s] ... ok {28} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_rescue_ramdisk [0.018039s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.014475s] ... ok {10} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.013883s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.015279s] ... ok {10} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.032665s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.067435s] ... 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-032ffd4b-17fc-4043-8932-8dd3f7a7e83c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {28} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_fail [0.149765s] ... ok {10} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.027813s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.094695s] ... ok {10} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.014945s] ... ok {28} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.052040s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.014134s] ... ok {28} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.007417s] ... ok {10} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.019816s] ... ok {28} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.009714s] ... ok {10} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.058094s] ... ok {10} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.025017s] ... ok {28} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test___init___try_import_dracclient_failure [0.011047s] ... ok {10} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.026682s] ... ok {28} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.048846s] ... ok {28} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_mounted_ok [0.003193s] ... ok {28} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.064423s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-0cc40663-76a8-4249-a869-04e4f1cc68a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.374349+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'class1', u'created_at': u'2018-08-14T14:39:46.374349+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'}]} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.125032s] ... ok {28} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.062115s] ... ok {28} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.024812s] ... ok {28} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.012641s] ... ok {28} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.007711s] ... ok {28} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.010602s] ... ok {28} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.007199s] ... ok {28} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.007697s] ... ok {28} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.007046s] ... 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'2018-08-14T14:39:53.423855+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'}]} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.079750s] ... ok {28} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.007919s] ... ok {28} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.011678s] ... 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-02350214-d7e0-4daa-a663-11c9845d5a7f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.103023s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.034953s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name [0.018708s] ... 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-73c6ae45-f293-4f0e-9683-6587392772ee X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2018-08-14T14:39:47.748301+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"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.105830s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ee4889a-5b98-4cbd-8c52-987743b53836 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.095767s] ... 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ee2ac72a-3fbc-44e6-81a9-278a108ac011 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.056633s] ... 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-a58a034c-9bc2-433e-95d5-67b3dac68785 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'value': 123, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c25d1081-76d7-4f1b-bdd1-fed9b311dc63 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.063147s] ... 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': '49cef3e3-da90-4bb5-9e48-d329ccda0f11'}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8635cdc1-9aca-40e3-8b55-14d40eeb953e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "49cef3e3-da90-4bb5-9e48-d329ccda0f11"}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:46.929779+00:00"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.104680s] ... ok PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cd5dd952-e9ec-45e0-b248-b1ff627fbd9f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.055166s] ... 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-a0fd4e1f-3e6b-4a08-ba5b-bf4115b59e13 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.851536+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.096018s] ... 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'2018-08-14T14:39:47.054610+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'2018-08-14T14:39:47.054610+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'foo': u'bar'}} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.110824s] ... 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-6b23e6ac-f9ca-4c3b-93ff-d3e5a9d18f97 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.074554s] ... ok PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-522df43d-8e55-41c0-8c74-c1d8732f7c02 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"No body should be provided when adding a trait\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.080146s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-504b8666-ce58-4746-b6b6-a1ed92b2ac87 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.056988s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': None, '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-54e6b54d-c836-436b-8a36-1060eeb5be0a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '8336c68a-a4b7-482f-bf82-738666024afa'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/8336c68a-a4b7-482f-bf82-738666024afa Openstack-Request-Id: req-7f2a1eb0-bedd-4fc7-96eb-8f8ea310e00b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/8336c68a-a4b7-482f-bf82-738666024afa", "rel": "self"}, {"href": "http://localhost/nodes/8336c68a-a4b7-482f-bf82-738666024afa", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "8336c68a-a4b7-482f-bf82-738666024afa", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/8336c68a-a4b7-482f-bf82-738666024afa/ports", "rel": "self"}, {"href": "http://localhost/nodes/8336c68a-a4b7-482f-bf82-738666024afa/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/8336c68a-a4b7-482f-bf82-738666024afa {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/8336c68a-a4b7-482f-bf82-738666024afa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8336c68a-a4b7-482f-bf82-738666024afa', 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'8336c68a-a4b7-482f-bf82-738666024afa', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/8336c68a-a4b7-482f-bf82-738666024afa/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8336c68a-a4b7-482f-bf82-738666024afa/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.180717s] ... ok GET: /v1/ports/10dd7804-f808-4909-941c-bdd62f35ca5d {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'10dd7804-f808-4909-941c-bdd62f35ca5d', u'links': [{u'href': u'http://foo/v1/ports/10dd7804-f808-4909-941c-bdd62f35ca5d', u'rel': u'self'}, {u'href': u'http://foo/ports/10dd7804-f808-4909-941c-bdd62f35ca5d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.616201+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/10dd7804-f808-4909-941c-bdd62f35ca5d {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'10dd7804-f808-4909-941c-bdd62f35ca5d', u'links': [{u'href': u'http://foo/v1/ports/10dd7804-f808-4909-941c-bdd62f35ca5d', u'rel': u'self'}, {u'href': u'http://foo/ports/10dd7804-f808-4909-941c-bdd62f35ca5d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.616201+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/10dd7804-f808-4909-941c-bdd62f35ca5d {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'10dd7804-f808-4909-941c-bdd62f35ca5d', u'links': [{u'href': u'http://foo/v1/ports/10dd7804-f808-4909-941c-bdd62f35ca5d', u'rel': u'self'}, {u'href': u'http://foo/ports/10dd7804-f808-4909-941c-bdd62f35ca5d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:46.616201+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {23} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.133900s] ... 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-0379a489-83ec-4aa0-9820-fddc21ca9863 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.049514s] ... ok GET: /v1/volume/targets?fields=uuid,extra {} GOT:{u'targets': [{u'uuid': u'7f490b41-9907-45b5-ad42-4c5b666d9e8e', u'links': [{u'href': u'http://localhost/v1/volume/targets/7f490b41-9907-45b5-ad42-4c5b666d9e8e', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7f490b41-9907-45b5-ad42-4c5b666d9e8e', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'3944dd76-c66d-40d5-b806-8b209f72332d', u'links': [{u'href': u'http://localhost/v1/volume/targets/3944dd76-c66d-40d5-b806-8b209f72332d', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/3944dd76-c66d-40d5-b806-8b209f72332d', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'82221050-59af-46b2-b3b4-88d11f315c22', u'links': [{u'href': u'http://localhost/v1/volume/targets/82221050-59af-46b2-b3b4-88d11f315c22', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/82221050-59af-46b2-b3b4-88d11f315c22', u'rel': u'bookmark'}], u'extra': {}}]} {13} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.124325s] ... 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'2018-08-14T14:39:47.170280+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'} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.060376s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {18} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.051354s] ... 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-c431b1d3-5eab-4789-8561-bc299ef610a0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e00ab78-b374-4df5-8a4c-b96713bedd5f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0cce8436-e454-4a37-9572-51041aff37c8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.144905s] ... ok GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-33f11b05-4216-4b6b-933c-6485b569c0bb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f9a5acd-e140-4044-9c21-7bf7a0a6d923 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} {2} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [0.081992s] ... 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-1fcd6547-193a-4b32-9ffc-c38f710f195f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\"}"} {30} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.057906s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-734fea75-9db4-4ded-b848-894ebdccf2cf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.057107s] ... 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-d421fbfc-c3a6-4f9d-b38f-2dfffbec045c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.051626s] ... 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-961c8902-7b71-4e80-8ab5-70825b2b73a9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.116514s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_types.TestListType.test_list_type [0.013495s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.013507s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.015172s] ... 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/2b37384d-4b82-4a4e-9f34-7cbf75cafa5c Openstack-Request-Id: req-ea269ed9-f6e7-44b8-a477-54783a94311b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "2b37384d-4b82-4a4e-9f34-7cbf75cafa5c", "links": [{"href": "http://localhost/v1/volume/connectors/2b37384d-4b82-4a4e-9f34-7cbf75cafa5c", "rel": "self"}, {"href": "http://localhost/volume/connectors/2b37384d-4b82-4a4e-9f34-7cbf75cafa5c", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.792373+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/2b37384d-4b82-4a4e-9f34-7cbf75cafa5c {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'2b37384d-4b82-4a4e-9f34-7cbf75cafa5c', u'links': [{u'href': u'http://localhost/v1/volume/connectors/2b37384d-4b82-4a4e-9f34-7cbf75cafa5c', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/2b37384d-4b82-4a4e-9f34-7cbf75cafa5c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.792373+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {27} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.123668s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type [0.013178s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_remove_chassis_uuid [0.015097s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.013131s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.015420s] ... 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-316c67c2-ed87-41d7-a0c6-30554b81a96e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2018-08-14T14:39:46.523803+00:00", "updated_at": "2018-08-14T14:39:46.589975+00:00", "address": "52:54:00:cf:2d:31"} {21} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.123695s] ... 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-34e1b787-b63f-44f2-8418-7dc9dd07493d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {13} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.064319s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=302287f0-e167-4164-8b69-47f67364b733 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-20f19e3a-bc20-48fa-8a48-1b2d432e4602 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.053279s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.018145s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.014674s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_false [0.015238s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.014168s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.013267s] ... 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-c5357848-0b2c-436e-83a5-809a91479531 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.094633s] ... 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-f0df90e3-5fda-43a4-9f07-bed7905a7cb3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.056850s] ... 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-e8000a6a-a079-4484-b151-28fd25c87b07 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.575821+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.575821+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'} {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.113451s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 0, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ed8ce714-409e-4458-856b-123ba1fdd30e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 0.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.047941s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4e516bc2-2457-40ac-9b0d-fdbd7537daca {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\"}"} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.039276s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'c0e4a0a3-ca4f-4714-bb9e-f046e53b5afb', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3004ac77-57dd-4f7d-9304-81ce2679df66 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-08-14T14:39:47.170105+00:00"} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.131255s] ... 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-d41435ab-0610-430b-a5e4-f1c90c15f489 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/boot_index' is a mandatory attribute and can not be removed\"}"} {13} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.057418s] ... ok {13} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.025750s] ... ok {13} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.024102s] ... ok {13} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_valid_interfaces [0.027259s] ... 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5053a146-a46b-4fbb-86a7-4ce754f85dec X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.073573s] ... ok {13} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.022461s] ... ok {13} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.019374s] ... ok {13} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.014242s] ... ok {13} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error [0.018238s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-674ad181-f6b6-4164-8631-672fc7ec2f31 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n[u'\"}"} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.046773s] ... ok {13} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.023550s] ... ok {13} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.009997s] ... ok {13} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.021681s] ... ok {13} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.142695s] ... 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-55cfda59-2f46-4b5f-a836-bff960b9fef1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2018-08-14T14:39:46.816037+00:00", "physical_network": "physnet2", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-08-14T14:39:46.748579+00:00"} {13} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.034326s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.126161s] ... ok {13} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.036921s] ... ok {13} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha512 [0.013782s] ... ok {13} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.219623s] ... ok {13} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.207745s] ... ok {13} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.389251s] ... ok {13} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.113851s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.485478s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [1.436872s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_manual_clean [0.374960s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.140757s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.353566s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.380143s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.190188s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.185627s] ... ok {13} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.313715s] ... ok {13} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.110676s] ... ok {13} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.019753s] ... ok {13} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.017581s] ... 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'2018-08-14T14:39:47.171488+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'2018-08-14T14:39:47.171488+00:00'} {13} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.072253s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.121037s] ... ok GET: /v1/lookup?node_uuid=e32d8f9f-7150-4696-8344-7bc8764fd943 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'e32d8f9f-7150-4696-8344-7bc8764fd943', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/e32d8f9f-7150-4696-8344-7bc8764fd943', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e32d8f9f-7150-4696-8344-7bc8764fd943', 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'}}} {13} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.107066s] ... ok {13} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.105684s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.183704s] ... ok {13} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.106169s] ... ok {13} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_version_exists [0.035355s] ... ok {13} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_many_drivers [0.033373s] ... ok {13} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.049854s] ... ok {13} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.047818s] ... ok {13} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.084411s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.048433s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.025615s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.141618s] ... ok {13} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.040804s] ... ok {13} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.037081s] ... ok {13} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.132534s] ... ok {13} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_address [0.031980s] ... ok {13} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_off [0.100878s] ... ok {13} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on_timeout [0.096551s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.029626s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.040951s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.240077s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.091491s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.030481s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.034792s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.018052s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.129660s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.091462s] ... ok PATCH: /v1/ports/a1ffde5a-1779-419c-84e4-e6453e3a4577 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0db00c04-5b8a-4194-a750-dadb50796d5a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port a1ffde5a-1779-419c-84e4-e6453e3a4577 could not be found.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.067518s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_invalid_component [0.088854s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.069918s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_invalid [0.099282s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.035386s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.076910s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.121471s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.173938s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.033845s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.035507s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.030446s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.031316s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.030631s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.069043s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.071189s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8f1d101f-52ce-4243-ae6a-93b6f3f8ee0b {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {13} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.117983s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.039348s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.104370s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.073464s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.070929s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_extra_new_key [0.110538s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.108409s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.106923s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.103204s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_spt [0.038170s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_active_node [0.743506s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__add_applied_server_profile_uri_field [0.097074s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_exception [0.091200s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.102517s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.099488s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance [0.190306s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.016417s] ... ok {13} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.059190s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.103632s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.020633s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.014836s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.121470s] ... ok {13} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.033657s] ... ok {13} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.023238s] ... ok {13} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.017828s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.040910s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.128799s] ... 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-659e2b80-7270-4944-a222-7ad872f04352 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.025376s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.070645s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.079426s] ... ok {13} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.096063s] ... ok {13} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.076407s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '7d5e1e8f-085c-4bc0-b68d-420e5993e81e', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e182a7e1-b72e-4850-86c7-1c5045ea6c7b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 7d5e1e8f-085c-4bc0-b68d-420e5993e81e could not be found.\"}"} {13} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.160123s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.073581s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.079091s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_ipxe_timeout [0.082920s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue [0.082007s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_ipa_debug [0.063350s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel [0.039694s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.041268s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.070469s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.018162s] ... ok {13} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device [0.196114s] ... ok GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6dfbe7f-d48d-4826-8221-05528eb8a3a7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/connectors?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-43861908-17ce-451f-9996-a464869a78da X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.060170s] ... ok {13} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_down [0.212167s] ... ok {13} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_and_wait_for_state_change_fail [0.215239s] ... ok {13} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.078474s] ... ok {13} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_default_interfaces [0.062272s] ... 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-1d677448-65f8-4810-a03c-b78fc7fa24d8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2acfbeab-a430-4b56-81ec-820eecf9a66e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d3856214-cd10-4f3b-965f-3761848b838e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-521639e4-243d-4db1-a112-1b2a9573761d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.223811s] ... ok {13} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.062186s] ... 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-e8b900e4-be1e-45da-ba87-ccbc9fde7413 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.988543+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"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_no_extra [0.053824s] ... ok {13} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver_import_error [0.001887s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields_fail [0.011165s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface_fail [0.008613s] ... ok {13} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.013842s] ... ok {13} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.016600s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.008566s] ... ok {13} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.013619s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.009555s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.008824s] ... ok {13} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.015573s] ... ok {13} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.015432s] ... ok {13} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.012447s] ... ok {13} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.015312s] ... ok {13} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.019619s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'foo', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11430317-0076-4d75-ac46-ab69aefc3642 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['cinder', 'noop'].\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.063333s] ... 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-99b6fd6a-32bf-402a-8cca-13fbf880ae3e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ceff7392-82a2-472c-ae6d-9b8d770af6c0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"clean wait\\\".\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.139471s] ... 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'2018-08-14T14:39:47.290741+00:00'}]} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.096351s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-af9ed726-78b7-4aa9-8b46-82140aec8d5d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.078367s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-2577861e-27db-4621-b499-4c984600cd57 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.067313s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.015802s] ... ok GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a5f41517-fae5-4e67-94ff-230488163552 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.061365s] ... 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-9e20c241-c7ed-41b6-8188-fb2090cd1d98 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.047571s] ... 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-40cc722e-bbfb-4580-951d-8b347bab3169 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.926037+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {23} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.105521s] ... ok {6} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.017170s] ... 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'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {30} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.042777s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_rescue_interface [0.015501s] ... ok {6} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.037889s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive [0.016033s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.016662s] ... 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-a31684de-21e4-4059-8dea-97b9082862e9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.802602+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": null, "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.802602+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'} {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.108613s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {6} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.024124s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.119524s] ... ok {6} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.093417s] ... ok {6} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.032938s] ... ok {6} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.016574s] ... ok {6} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.024472s] ... ok {6} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.214675s] ... ok {6} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.011023s] ... ok {6} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.018196s] ... ok {6} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.017459s] ... ok {6} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.017571s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_elilo [0.130896s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_bios [0.091351s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.033565s] ... ok {6} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.030581s] ... ok {6} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.015203s] ... ok {6} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.025224s] ... ok {6} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.337513s] ... ok {6} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.353464s] ... ok {6} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.283175s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.447324s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [1.163643s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_provide [0.374202s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.028241s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.026452s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.120782s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.162837s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.108759s] ... ok GET: /v1/portgroups/a3c041b7-1126-4ea2-894d-0652e3458c2f/ports {} GOT:{u'ports': [{u'uuid': u'35e6706c-7d9d-45f9-94eb-31a757af86ae', u'links': [{u'href': u'http://localhost/v1/ports/35e6706c-7d9d-45f9-94eb-31a757af86ae', u'rel': u'self'}, {u'href': u'http://localhost/ports/35e6706c-7d9d-45f9-94eb-31a757af86ae', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'e843e9e9-61f5-41ca-8819-872932940cbf', u'links': [{u'href': u'http://localhost/v1/ports/e843e9e9-61f5-41ca-8819-872932940cbf', u'rel': u'self'}, {u'href': u'http://localhost/ports/e843e9e9-61f5-41ca-8819-872932940cbf', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/portgroups/a3c041b7-1126-4ea2-894d-0652e3458c2f/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'35e6706c-7d9d-45f9-94eb-31a757af86ae', u'links': [{u'href': u'http://localhost/v1/ports/35e6706c-7d9d-45f9-94eb-31a757af86ae', u'rel': u'self'}, {u'href': u'http://localhost/ports/35e6706c-7d9d-45f9-94eb-31a757af86ae', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'a3c041b7-1126-4ea2-894d-0652e3458c2f', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2018-08-14T14:39:53.508304+00:00'}, {u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e843e9e9-61f5-41ca-8819-872932940cbf', u'links': [{u'href': u'http://localhost/v1/ports/e843e9e9-61f5-41ca-8819-872932940cbf', u'rel': u'self'}, {u'href': u'http://localhost/ports/e843e9e9-61f5-41ca-8819-872932940cbf', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'a3c041b7-1126-4ea2-894d-0652e3458c2f', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2018-08-14T14:39:53.512687+00:00'}]} GET: /v1/portgroups/a3c041b7-1126-4ea2-894d-0652e3458c2f/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'35e6706c-7d9d-45f9-94eb-31a757af86ae', u'links': [{u'href': u'http://localhost/v1/ports/35e6706c-7d9d-45f9-94eb-31a757af86ae', u'rel': u'self'}, {u'href': u'http://localhost/ports/35e6706c-7d9d-45f9-94eb-31a757af86ae', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=1&marker=35e6706c-7d9d-45f9-94eb-31a757af86ae'} GET: /v1/portgroups/a3c041b7-1126-4ea2-894d-0652e3458c2f/ports/39605ea3-380e-4051-ad8e-cbc19da4c333 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/portgroups/a3c041b7-1126-4ea2-894d-0652e3458c2f/ports/17c10761-eee7-4d7e-ab4b-16771b8251aa {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-39e21e75-7dd2-4b1d-9fb3-71682d9e442c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {6} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.183636s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.246677s] ... ok {6} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.220591s] ... 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c27b760e-f971-4f57-b5d1-0a606460459e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.072544s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.027096s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.027860s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.027594s] ... ok {6} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.019865s] ... ok {6} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_no_driver [0.045213s] ... ok {6} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.038983s] ... ok {6} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.050506s] ... ok GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-eb4e0069-b528-4bf3-a4d2-c2c6de780f83 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.036064s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.054001s] ... ok {6} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.048959s] ... ok {6} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.065732s] ... ok {6} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.050157s] ... ok {6} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.046998s] ... 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-9040f6a6-3de6-42c3-b90d-d9b2d54b4a5a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.094352s] ... ok {6} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.043620s] ... ok {6} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_properties [0.123646s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.129935s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.072132s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.188533s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.133291s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.175271s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.014020s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.156683s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.132626s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.129538s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_deploy_iso_name [0.048234s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.041559s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.232422s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.133804s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.138896s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.263196s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.040959s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.127007s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.141729s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.633144s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.388579s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.148450s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-973f72cc-2499-4761-abea-014e6530b3f3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.082632s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.171101s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sh [0.031249s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_cleaning [0.114533s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_clean_failed_when_no_oneview_error [0.236141s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_false [0.135586s] ... ok {6} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.137018s] ... ok {6} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.126267s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_kernel [0.138398s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_image_source_is_url [0.195085s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.125401s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.229766s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_configure_tenant_network_exception [0.153058s] ... 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-532ebb43-78b7-4239-a1b0-fc1dd124e130 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2018-08-14T14:39:47.908312+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'2018-08-14T14:39:47.908312+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {27} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.195316s] ... ok {6} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.029369s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.141729s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.047717s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.056899s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.101798s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.013339s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.014545s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.015132s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.015620s] ... ok {6} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.029628s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.021447s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.040052s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.033669s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.404211s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.047886s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.053666s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.047893s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.095655s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_off [0.103150s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.106799s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.103515s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.079732s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipa_debug_rescue [0.141729s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_tftp_images_master_path [0.047985s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.039207s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.022374s] ... ok {6} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_ok_logout [0.269778s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-71c15a32-1f8e-4be7-8fd0-1b7b072321ac X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {6} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_already_target_state [0.137251s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.063244s] ... ok {6} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state [0.152463s] ... ok {6} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_override_with_ipmi_interfaces [0.073482s] ... ok {6} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_interfaces [0.072479s] ... ok {6} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.083149s] ... ok {6} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.013352s] ... ok {6} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.016956s] ... ok {6} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.008629s] ... ok {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.014890s] ... ok {6} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.019167s] ... ok {6} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.021427s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.008732s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'a095f090-a8f8-45b4-b56e-dd12b8aed457', u'links': [{u'href': u'http://localhost/v1/volume/connectors/a095f090-a8f8-45b4-b56e-dd12b8aed457', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/a095f090-a8f8-45b4-b56e-dd12b8aed457', 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'e5cc0dea-1931-4852-a323-412e0cfa1077', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e5cc0dea-1931-4852-a323-412e0cfa1077', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e5cc0dea-1931-4852-a323-412e0cfa1077', 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'7f3ff45b-45c9-46bc-8852-6835538acc94', u'links': [{u'href': u'http://localhost/v1/volume/connectors/7f3ff45b-45c9-46bc-8852-6835538acc94', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/7f3ff45b-45c9-46bc-8852-6835538acc94', 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'1ae01685-17c9-4aa9-98ba-bb4c01efe14b', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1ae01685-17c9-4aa9-98ba-bb4c01efe14b', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1ae01685-17c9-4aa9-98ba-bb4c01efe14b', 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'b2be2ecf-311a-4b8d-a80e-36821175dced', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b2be2ecf-311a-4b8d-a80e-36821175dced', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b2be2ecf-311a-4b8d-a80e-36821175dced', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-4'}]} {31} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.148693s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.010574s] ... ok {6} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.102836s] ... ok {6} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.016389s] ... 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': 'ba3e9324-790a-442c-835b-cdb8a85ad782'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e0def4c1-90b8-4b83-9b9f-822042882b0d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {6} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.016303s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.093585s] ... ok GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-38cd9f6a-bd0d-4d96-8d5e-9190896ef3e0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.064341s] ... ok GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'portgroups': [{u'href': u'http://localhost/v1/portgroups/', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/', u'rel': u'bookmark'}], u'id': u'v1', u'volume': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.043728s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-29d1f146-6cbc-4fb2-857f-4a88f308aeca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.055491s] ... 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-370069da-a395-404d-abfd-3a8fef241c33 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:48.188348+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.092043s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.024014s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.128037s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.035532s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.023429s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.108264s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.020988s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.015213s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.030441s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_auth_strategy [0.014497s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.025456s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_efibootimg [0.027861s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.033157s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.106352s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.094557s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.038307s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.044583s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.072047s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.027233s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.027906s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.014604s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.014105s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.104045s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.341982s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [1.423435s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.435593s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.360979s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.024860s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.073103s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.342261s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.118898s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.107694s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.114401s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.072521s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.072732s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.192920s] ... 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-91503856-49a2-47c6-9933-e59d43aaf785 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2018-08-14T14:39:47.686208+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'2018-08-14T14:39:47.686208+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'} {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.110829s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.299788s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.043182s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.017498s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.024642s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.024002s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.048204s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.049088s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.122178s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.128843s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.037361s] ... 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-90d5baa8-2e5e-4b38-be53-a496fb6334e1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {18} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.079118s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.047321s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.057559s] ... 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-a7544e8d-1c31-4d0a-b99a-614e63cf3757 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:48.251223+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "type": "iqn"} {30} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.109235s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.119567s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.089578s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.057476s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.038786s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.038357s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_properties [0.111488s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.077576s] ... 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-347fe4d6-5c50-45fa-89af-ab34da2d4fdc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.147266+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': '21badb1f-b406-46a0-a82c-b993687fe548', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'e1f4610c-ae39-40e0-a4be-8f4233ca1204'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d7d01dfb-c2a8-4c72-8642-3c40d069461d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.110372s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.048516s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid [0.014310s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.091038s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_storage_interface [0.014233s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.041989s] ... 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-7ca7676f-8068-4f73-9365-392dca3ae13c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute enabled. Value: 'invalid-value'. unable to convert to boolean. Error: Unrecognized value 'invalid-value', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.059405s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.075877s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs [0.015275s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.016526s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_rescue_interface_fail [0.014252s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.083124s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.013068s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.100328s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.014552s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.042348s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.016435s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.040436s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.122910s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.096275s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.061592s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot [0.100700s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.182601s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.177082s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.031815s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.082050s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif [0.119417s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.114630s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.116142s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.125285s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.117164s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.129082s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.138985s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.103792s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_enclosure_group_invalid [0.039370s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_missing_values_empty_string [0.035086s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_spt [0.034293s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_oneview_error [0.253849s] ... 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'2018-08-14T14:39:48.075108+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test__is_onetime_boot_true [0.102541s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.081771s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.112053s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_running [0.107422s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue [0.136474s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.017321s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.025464s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.049594s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.042272s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.026886s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.021168s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.036873s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.038150s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_invalid_state [0.097598s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot_uefi [0.117048s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.079089s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.017052s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.085096s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.010507s] ... ok {2} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.013702s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.026670s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.029823s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.026918s] ... ok PATCH: /v1/volume/targets/cd99999c-542c-43c4-bb3d-8811aa8e8dba [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe2b62d9-b492-4810-8439-f83f65cc10c4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume target cd99999c-542c-43c4-bb3d-8811aa8e8dba could not be found.\"}"} {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.017066s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.070759s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.019126s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.019003s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.023930s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.029328s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.044489s] ... ok GET: /v1/portgroups?fields=uuid,extra {} GOT:{u'portgroups': [{u'uuid': u'2c10bb39-f758-4318-873c-c3f271ac9b13', u'links': [{u'href': u'http://localhost/v1/portgroups/2c10bb39-f758-4318-873c-c3f271ac9b13', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/2c10bb39-f758-4318-873c-c3f271ac9b13', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'a1c6728f-f40d-43e6-bef9-9c4e53987d33', u'links': [{u'href': u'http://localhost/v1/portgroups/a1c6728f-f40d-43e6-bef9-9c4e53987d33', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a1c6728f-f40d-43e6-bef9-9c4e53987d33', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'257a42fe-0174-4f03-88c1-7f8ad35e9e08', u'links': [{u'href': u'http://localhost/v1/portgroups/257a42fe-0174-4f03-88c1-7f8ad35e9e08', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/257a42fe-0174-4f03-88c1-7f8ad35e9e08', u'rel': u'bookmark'}], u'extra': {}}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.117897s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values [0.013949s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.035460s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_name [0.018223s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields [0.015754s] ... 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-879fa860-29e4-4981-aa42-6b9bd282fc73 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {31} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.088302s] ... ok GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'7f54328f-d755-4b77-b3e2-9c9bdb5f91c7', u'links': [{u'href': u'http://localhost/v1/ports/7f54328f-d755-4b77-b3e2-9c9bdb5f91c7', u'rel': u'self'}, {u'href': u'http://localhost/ports/7f54328f-d755-4b77-b3e2-9c9bdb5f91c7', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'47f79ad0-25b5-4b1c-b396-36ecd28cffb5', u'links': [{u'href': u'http://localhost/v1/ports/47f79ad0-25b5-4b1c-b396-36ecd28cffb5', u'rel': u'self'}, {u'href': u'http://localhost/ports/47f79ad0-25b5-4b1c-b396-36ecd28cffb5', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'23737177-6804-4299-8f55-731c69d05cd7', u'links': [{u'href': u'http://localhost/v1/ports/23737177-6804-4299-8f55-731c69d05cd7', u'rel': u'self'}, {u'href': u'http://localhost/ports/23737177-6804-4299-8f55-731c69d05cd7', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'6afab89c-ea79-40b5-8286-fd37112ebe2b', u'links': [{u'href': u'http://localhost/v1/ports/6afab89c-ea79-40b5-8286-fd37112ebe2b', u'rel': u'self'}, {u'href': u'http://localhost/ports/6afab89c-ea79-40b5-8286-fd37112ebe2b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:33'}, {u'uuid': u'614b1a4b-fdde-4320-843a-457696fb0cf7', u'links': [{u'href': u'http://localhost/v1/ports/614b1a4b-fdde-4320-843a-457696fb0cf7', u'rel': u'self'}, {u'href': u'http://localhost/ports/614b1a4b-fdde-4320-843a-457696fb0cf7', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:34'}]} {5} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.155866s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a4dfe58d-3f4e-4d7e-97ec-15e80dd8969e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.048564+00:00"} {23} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.127187s] ... 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-9853c317-bfe8-49e6-8006-fd516a81548a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.051271s] ... 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-c3c6c139-5ca4-4639-853f-342220f50ece X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.058960s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-09574607-2091-454a-badd-e687783867f8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {27} ironic.tests.unit.api.test_acl.TestACL.test_non_admin [0.070939s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'resource_class': 'foo', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-f7d0ea0c-173e-4ef1-8b5e-f4432b8dace0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": "foo", "created_at": "2018-08-14T14:39:47.334904+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'rescue_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2018-08-14T14:39:47.334904+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.113026s] ... ok foo() migrated 15 of 15 objects. {27} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.027873s] ... ok {27} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.014284s] ... ok {27} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server [0.014089s] ... ok {27} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.055278s] ... ok {27} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.015994s] ... ok {27} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.016591s] ... ok {27} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.017476s] ... ok {27} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.107356s] ... ok {27} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.112123s] ... 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-938b68c0-5c4e-4e8b-a94e-24b5407d3961 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:53.815404+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"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.111362s] ... ok {27} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.033112s] ... ok {27} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.029157s] ... ok {27} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.026408s] ... ok {27} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.014283s] ... ok {27} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5 [0.013928s] ... ok {27} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.155974s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual [0.368679s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.337189s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_error [1.368096s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_unexpected_exception [0.361218s] ... ok {27} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.130875s] ... ok {27} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_validate_fail [0.091642s] ... ok GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 123 123. "} {5} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.039286s] ... ok {27} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.096606s] ... ok {27} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.296045s] ... ok {27} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.100663s] ... ok {27} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.023697s] ... ok {27} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.022748s] ... ok {27} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.046246s] ... ok {27} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.020172s] ... ok {27} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.023626s] ... ok {27} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.089531s] ... ok {27} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.134401s] ... ok {27} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.102460s] ... ok {27} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {27} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.037660s] ... ok {27} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.065156s] ... ok {27} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.040060s] ... ok {27} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.030090s] ... ok {27} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.034937s] ... ok {27} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.035528s] ... 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-4e615bc5-7b72-49a8-9aba-00db3351de74 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute boot_index. Value: 'None'. Mandatory field missing.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.053631s] ... ok {27} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.036556s] ... ok {27} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.035941s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f4ed676a-918f-4dca-87e6-d3ac125f617e {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {27} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.080968s] ... ok {11} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.036999s] ... 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'2018-08-14T14:39:47.068210+00:00'}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.098720s] ... ok {11} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.031750s] ... ok {27} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.014943s] ... ok {11} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.047459s] ... ok {27} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.110046s] ... ok {11} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.019451s] ... ok {11} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.023525s] ... ok {27} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.142928s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.042999s] ... ok {11} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.021330s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.108992s] ... ok {11} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.020524s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.184165s] ... ok {11} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.098809s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.174715s] ... ok {11} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.019794s] ... ok {11} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.016990s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.156937s] ... ok GET: /v1/ports {} GOT:{u'ports': []} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.061662s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=8aa71f9c-1c6d-43ec-8377-a84adbe33095 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'8aa71f9c-1c6d-43ec-8377-a84adbe33095', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/8aa71f9c-1c6d-43ec-8377-a84adbe33095', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8aa71f9c-1c6d-43ec-8377-a84adbe33095', 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'}}} {11} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.028132s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.140121s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortObject.test_port_init [0.015808s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.075387s] ... ok {11} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.012948s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.139161s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path [0.035000s] ... ok {11} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5_not_binary [0.012982s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_ramdisk_endpoints [0.009374s] ... ok {11} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.270729s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.049066s] ... ok {11} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.404257s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_fail [0.018401s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.089368s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.031770s] ... ok {11} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.319664s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_unknown_verbs [0.010342s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.029899s] ... ok {11} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.130766s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_automated_clean [0.389583s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.014224s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.133662s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_console_raises_error [0.374804s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_if_invalid_update_mode_provided [0.089213s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.376467s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.102587s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_disabled [0.025891s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.027069s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.190510s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.031150s] ... ok {11} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.996425s] ... ok {11} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.286238s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.030312s] ... ok {11} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.030315s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.077562s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.022250s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.117723s] ... ok {11} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.018345s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.480790s] ... ok {11} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.088825s] ... ok GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c526c46-288d-4f71-bbb4-b4c7d2082bb4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\"}"} {20} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.059694s] ... ok {11} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.147089s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.095166s] ... 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-d7e81ff6-c129-413e-95f8-e22ab325054b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_id. Value: 'None'. Mandatory field missing.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.053735s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.013403s] ... ok {11} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.142744s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_dynamic_drivers [0.014564s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.101148s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs_fail [0.015546s] ... ok {11} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.097077s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.105270s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver_fail [0.014826s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.110225s] ... ok {11} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_2_some_conductors [0.117161s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_driver_info [0.033376s] ... ok {11} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.051717s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.015275s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare [0.124685s] ... ok {11} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.032374s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare [0.125067s] ... ok {11} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.034581s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic_node_has_server_profile [0.106193s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50a99497-97dc-4c82-8af1-ffaba5e637c9 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {27} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_get_properties [0.069985s] ... ok {4} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.039371s] ... ok {11} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.033287s] ... ok {11} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.016468s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device [0.129017s] ... ok {11} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.167325s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate [0.109801s] ... ok {11} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_invalid_state [0.104931s] ... ok {27} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.144506s] ... ok PATCH: /v1/nodes/56b8714d-cf49-498e-a7af-28f4f9c577cd [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39334b8d-960b-4014-a4e7-19f91568d31a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/56b8714d-cf49-498e-a7af-28f4f9c577cd", "rel": "self"}, {"href": "http://localhost/nodes/56b8714d-cf49-498e-a7af-28f4f9c577cd", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "56b8714d-cf49-498e-a7af-28f4f9c577cd", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.111357+00:00", "ports": [{"href": "http://localhost/v1/nodes/56b8714d-cf49-498e-a7af-28f4f9c577cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/56b8714d-cf49-498e-a7af-28f4f9c577cd/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/a009fc86-055e-4b6c-992c-4d473c81b00a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c00cc68d-e2a2-4b0d-9836-1a0d4676997a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/a009fc86-055e-4b6c-992c-4d473c81b00a", "rel": "self"}, {"href": "http://localhost/nodes/a009fc86-055e-4b6c-992c-4d473c81b00a", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspecting", "uuid": "a009fc86-055e-4b6c-992c-4d473c81b00a", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.162741+00:00", "ports": [{"href": "http://localhost/v1/nodes/a009fc86-055e-4b6c-992c-4d473c81b00a/ports", "rel": "self"}, {"href": "http://localhost/nodes/a009fc86-055e-4b6c-992c-4d473c81b00a/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/18b92dfe-d923-4f52-8128-4986caf2ead3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-014ec5ae-273e-425f-ac09-76d463a82dab X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/18b92dfe-d923-4f52-8128-4986caf2ead3", "rel": "self"}, {"href": "http://localhost/nodes/18b92dfe-d923-4f52-8128-4986caf2ead3", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspect failed", "uuid": "18b92dfe-d923-4f52-8128-4986caf2ead3", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.204044+00:00", "ports": [{"href": "http://localhost/v1/nodes/18b92dfe-d923-4f52-8128-4986caf2ead3/ports", "rel": "self"}, {"href": "http://localhost/nodes/18b92dfe-d923-4f52-8128-4986caf2ead3/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/fd43daa7-7991-4a19-8ade-501ab47966df [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4daa6b92-5535-4985-89b9-48bbe817fea4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/fd43daa7-7991-4a19-8ade-501ab47966df", "rel": "self"}, {"href": "http://localhost/nodes/fd43daa7-7991-4a19-8ade-501ab47966df", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "clean failed", "uuid": "fd43daa7-7991-4a19-8ade-501ab47966df", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.261806+00:00", "ports": [{"href": "http://localhost/v1/nodes/fd43daa7-7991-4a19-8ade-501ab47966df/ports", "rel": "self"}, {"href": "http://localhost/nodes/fd43daa7-7991-4a19-8ade-501ab47966df/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/024b1f8c-200f-4a2d-8c3e-982d3b30d4a6 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-94ac3a99-9e7e-4a9c-9de9-796b8e9a120b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/024b1f8c-200f-4a2d-8c3e-982d3b30d4a6", "rel": "self"}, {"href": "http://localhost/nodes/024b1f8c-200f-4a2d-8c3e-982d3b30d4a6", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "error", "uuid": "024b1f8c-200f-4a2d-8c3e-982d3b30d4a6", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.303530+00:00", "ports": [{"href": "http://localhost/v1/nodes/024b1f8c-200f-4a2d-8c3e-982d3b30d4a6/ports", "rel": "self"}, {"href": "http://localhost/nodes/024b1f8c-200f-4a2d-8c3e-982d3b30d4a6/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/940b8a73-2111-4b97-9dd2-5f9061832c72 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df1f22b0-1d58-4636-96b7-fdaa8900712b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/940b8a73-2111-4b97-9dd2-5f9061832c72", "rel": "self"}, {"href": "http://localhost/nodes/940b8a73-2111-4b97-9dd2-5f9061832c72", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "verifying", "uuid": "940b8a73-2111-4b97-9dd2-5f9061832c72", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.345683+00:00", "ports": [{"href": "http://localhost/v1/nodes/940b8a73-2111-4b97-9dd2-5f9061832c72/ports", "rel": "self"}, {"href": "http://localhost/nodes/940b8a73-2111-4b97-9dd2-5f9061832c72/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/6d1a0e36-9410-4ed8-85c6-82253a8eea71 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-367b6de4-56aa-4293-a641-e3da6ab76a32 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/6d1a0e36-9410-4ed8-85c6-82253a8eea71", "rel": "self"}, {"href": "http://localhost/nodes/6d1a0e36-9410-4ed8-85c6-82253a8eea71", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "adopt failed", "uuid": "6d1a0e36-9410-4ed8-85c6-82253a8eea71", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.386840+00:00", "ports": [{"href": "http://localhost/v1/nodes/6d1a0e36-9410-4ed8-85c6-82253a8eea71/ports", "rel": "self"}, {"href": "http://localhost/nodes/6d1a0e36-9410-4ed8-85c6-82253a8eea71/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/ea4e09b1-885c-4ffc-b7c1-35d5000a43c9 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4723f0be-fc44-401b-985e-24e79af59b16 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/ea4e09b1-885c-4ffc-b7c1-35d5000a43c9", "rel": "self"}, {"href": "http://localhost/nodes/ea4e09b1-885c-4ffc-b7c1-35d5000a43c9", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "rescue failed", "uuid": "ea4e09b1-885c-4ffc-b7c1-35d5000a43c9", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.427379+00:00", "ports": [{"href": "http://localhost/v1/nodes/ea4e09b1-885c-4ffc-b7c1-35d5000a43c9/ports", "rel": "self"}, {"href": "http://localhost/nodes/ea4e09b1-885c-4ffc-b7c1-35d5000a43c9/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/85b8b330-5907-44b6-939a-82139b8962ed [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6e38372-3a0d-44c0-9287-bc474f4132f0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/85b8b330-5907-44b6-939a-82139b8962ed", "rel": "self"}, {"href": "http://localhost/nodes/85b8b330-5907-44b6-939a-82139b8962ed", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "unrescue failed", "uuid": "85b8b330-5907-44b6-939a-82139b8962ed", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:46.468248+00:00", "ports": [{"href": "http://localhost/v1/nodes/85b8b330-5907-44b6-939a-82139b8962ed/ports", "rel": "self"}, {"href": "http://localhost/nodes/85b8b330-5907-44b6-939a-82139b8962ed/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {11} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_fail [0.106425s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.450674s] ... ok {27} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.094238s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.032467s] ... ok {27} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.106201s] ... ok {27} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.052118s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.046346s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.021074s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.053033s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.122217s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.028913s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.030585s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.050130s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.060116s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.100132s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.043923s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.109935s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.014506s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.040941s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.163434s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.032649s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_no_cafile [0.295211s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.036024s] ... ok {27} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.029612s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.042721s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.039100s] ... ok {27} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.024796s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.035652s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.089721s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.094988s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.116017s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.340301s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.034131s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_persistent [0.123127s] ... 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-9b2b1150-6075-4bde-b253-016217b27d26 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2018-08-14T14:39:47.500954+00:00", "updated_at": "2018-08-14T14:39:47.511010+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"} {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.078357s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.115614s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_on [0.096735s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.016787s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_swift_error [0.120832s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_without_logs [0.100407s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_driver_routes [0.069798s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_invalid_component_type [0.097919s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.102555s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.033590s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.100163s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.103936s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.040055s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.162032s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.135472s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_deploy [0.023939s] ... ok GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.135370s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.028084s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.049423s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.016163s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.139324s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.026333s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.253048s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.032361s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.111080s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.118296s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.110537s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.031320s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.118504s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.094545s] ... ok {27} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device_fail [0.257694s] ... ok {11} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_server_hardware_type [0.034945s] ... ok {27} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.045053s] ... ok {11} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_sh [0.030942s] ... ok {27} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_inspect_interface [0.047707s] ... ok {11} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_prepare_manager_url [0.031141s] ... ok {27} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver_import_error [0.005377s] ... ok {27} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.028555s] ... ok {27} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.021709s] ... ok {11} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_get_properties [0.067741s] ... ok {27} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.028591s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.110107s] ... ok {27} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.015492s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.029287s] ... ok {27} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.014712s] ... ok {11} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.110401s] ... ok {27} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.034605s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_no_manage_agent_boot [0.180450s] ... ok {27} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.013375s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.107454s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_off_fails [0.150039s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.015336s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.016563s] ... ok {11} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.042767s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities_none [0.091054s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.028592s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.046210s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/0338bb41-6493-4ca4-a46d-8bd50f0b6643 [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d288a791-4cf6-4db7-a6f2-b81edeceaca0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.074306s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.023610s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonsupported_image [0.113023s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.168540s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.028399s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.017744s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.021684s] ... ok {11} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.031725s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.032911s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-db606143-6038-4c72-9fee-1096fbb63b62 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.087848s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.136830s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.083009s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.040261s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.041510s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_cold [0.094373s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.088149s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_persistent [0.090642s] ... ok {11} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot [0.141877s] ... 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'2018-08-14T14:39:47.109793+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'}]} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.074215s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.190597s] ... ok GET: /v1/portgroups/?limit=3 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'51bacb16-4794-4452-92b3-60c08c9843fa', u'links': [{u'href': u'http://localhost/v1/portgroups/51bacb16-4794-4452-92b3-60c08c9843fa', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/51bacb16-4794-4452-92b3-60c08c9843fa', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'37acdeb2-f000-4447-9f8d-1b637e50adcf', u'links': [{u'href': u'http://localhost/v1/portgroups/37acdeb2-f000-4447-9f8d-1b637e50adcf', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/37acdeb2-f000-4447-9f8d-1b637e50adcf', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'44484755-3d2a-4acf-b89f-3ece4a7f9310', u'links': [{u'href': u'http://localhost/v1/portgroups/44484755-3d2a-4acf-b89f-3ece4a7f9310', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/44484755-3d2a-4acf-b89f-3ece4a7f9310', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=44484755-3d2a-4acf-b89f-3ece4a7f9310'} {21} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.118938s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.078850s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_kernel [0.032506s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.021999s] ... 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-b5a2a1da-5bac-4deb-beee-51d2601b5bf3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2018-08-14T14:39:47.916125+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'2018-08-14T14:39:47.916125+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'} {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.023960s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.189009s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.027248s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.095184s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.019759s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.019268s] ... ok {11} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_properties [0.033050s] ... ok {11} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_sensors_data [0.031677s] ... ok {11} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_fail [0.206787s] ... ok {11} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_console_interface [0.024725s] ... ok {11} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_iscsi [0.107533s] ... ok {11} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.030387s] ... ok {11} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.035319s] ... ok {11} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.024566s] ... ok {11} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.013896s] ... ok {11} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.020461s] ... ok {11} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.025893s] ... ok {11} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.016210s] ... ok {11} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.014631s] ... ok {11} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.014491s] ... ok {11} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.024684s] ... ok {11} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.034456s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {20} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.042146s] ... ok {20} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.026525s] ... ok {20} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_invalid_network_interface [0.031046s] ... ok {20} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.020709s] ... ok {20} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_classic_drivers_unsupported [0.027074s] ... ok {20} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_ioerror [0.021470s] ... ok {20} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.016678s] ... ok {20} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.025810s] ... ok GET: /v1/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {20} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.029489s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.038124s] ... ok {20} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.103032s] ... ok {20} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.024121s] ... ok {20} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.043475s] ... ok {20} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.100369s] ... ok {20} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.103650s] ... ok {20} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.013991s] ... ok {20} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.033736s] ... ok {20} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.397903s] ... ok {20} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.025816s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.650232s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.870433s] ... 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'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a575431c-733e-4c77-8555-517422db8fad X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.097986s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.343671s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.327958s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.314075s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.102755s] ... 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-ead43686-c31b-4496-a71e-a9ea79a53d88 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2018-08-14T14:39:53.929118+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"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.111798s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.023272s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.056266s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.024190s] ... ok {20} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices_iface_not_supported [0.070443s] ... ok {20} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.161795s] ... ok {20} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.272028s] ... ok {20} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.284752s] ... ok {20} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.092344s] ... 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-0c494a0d-b4e1-4f96-90af-8a082594964f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\"}"} {20} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.021973s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.073022s] ... ok {20} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.016300s] ... 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-abb5aac5-d3f0-4042-baa5-95ae4c4e59d2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2018-08-14T14:39:48.393520+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2018-08-14T14:39:48.393520+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {30} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.120754s] ... ok {20} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.018811s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestVolumeConnectorObject.test_volume_connector_init [0.014416s] ... 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-dddb4f4d-c886-4083-85e7-16f82f169fa4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.094891s] ... ok {20} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.017428s] ... ok {20} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.120210s] ... ok {20} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {20} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.019571s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8609761a-6bb6-4a0f-8a04-fda2a361a0ac X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2018-08-14T14:39:47.326549+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2018-08-14T14:39:47.326549+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'******'}} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.113400s] ... ok {20} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.860917s] ... 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-a4368ee2-f920-405b-ad36-ae19f7bc9a5e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.764193+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "type": "iqn"} {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.077602s] ... ok {20} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.039069s] ... 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-aa4b5662-30ca-4747-bea5-b34e110a4524 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {25} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.064561s] ... ok {20} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.018736s] ... ok {20} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.060455s] ... ok {20} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.040717s] ... ok {20} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.041152s] ... ok {20} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.101044s] ... ok {20} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.140569s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.088821s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_invalid_job_queue [0.041335s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.088020s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.047365s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.149611s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.090023s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.035442s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.034567s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.035465s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.088965s] ... 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-42e1e22d-c36f-421e-956e-9ed23099bbed X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.063138s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.014872s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.014684s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.091761s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist_mac_exception [0.092283s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.033753s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_unknown_exception [0.102913s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.087626s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.096511s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.092454s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.033662s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_deploy_iso_with_file [0.096772s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.105248s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.156493s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids [0.073996s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_zero_and_existing_cap [0.078129s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.095202s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.093843s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.094746s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.058542s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.100130s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id [0.097671s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.091685s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.036699s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.139802s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.083932s] ... ok {20} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.085562s] ... ok {20} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot [0.119346s] ... ok {20} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.045642s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.131728s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.115618s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.101703s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started [0.097232s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.201204s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.018067s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.027153s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.046343s] ... ok {20} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.011518s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.063643s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.070009s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.030585s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.031750s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_ok [0.064371s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.066147s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.063515s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.067853s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.065304s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.062106s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.175581s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.049921s] ... ok {20} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.026162s] ... ok {20} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.093307s] ... ok {20} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.081497s] ... ok {20} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.075310s] ... ok {20} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device_fail [0.143701s] ... 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-5c864fae-8e02-4689-96ad-ef1a5e5663c0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {20} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.009122s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.066820s] ... ok {20} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.011138s] ... ok {20} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_boot_device [0.015759s] ... ok {20} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_socat_driver [0.002098s] ... ok {20} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver [0.002795s] ... ok {20} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.016321s] ... ok {20} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.009996s] ... ok {20} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.009111s] ... 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'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {4} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.042908s] ... ok {4} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.038603s] ... ok Malformed option m1.key1value1 {4} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.022904s] ... ok {4} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.171097s] ... ok {4} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.027598s] ... ok {4} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_not_implemeted [0.015184s] ... ok {4} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.024510s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.018514s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_false [0.013932s] ... ok {4} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.015759s] ... 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-0433a0dc-7c70-4d08-b541-8181501c2762 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.069085s] ... ok {4} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.021178s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.105408s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.112537s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir_ipxe [0.034187s] ... ok {4} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.020303s] ... ok {4} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.048326s] ... ok {4} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.014180s] ... ok {4} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.015647s] ... ok {4} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.380597s] ... ok {4} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [1.302047s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.345301s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.357160s] ... ok GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5ef80a87-7e91-4b0f-842e-f3ea32e7ed67 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute target_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} {4} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.380756s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.060000s] ... ok GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'05c4d0c4-8d97-472e-82fa-cd4b5022cd70', u'links': [{u'href': u'http://localhost/v1/volume/targets/05c4d0c4-8d97-472e-82fa-cd4b5022cd70', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/05c4d0c4-8d97-472e-82fa-cd4b5022cd70', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.933972+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'31de8235-d0de-46ab-9115-d1f634b6fe1c', u'links': [{u'href': u'http://localhost/v1/volume/targets/31de8235-d0de-46ab-9115-d1f634b6fe1c', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/31de8235-d0de-46ab-9115-d1f634b6fe1c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.938906+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'320259dd-15c9-492e-ade9-d5f916303f4b', u'links': [{u'href': u'http://localhost/v1/volume/targets/320259dd-15c9-492e-ade9-d5f916303f4b', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/320259dd-15c9-492e-ade9-d5f916303f4b', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.947792+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=320259dd-15c9-492e-ade9-d5f916303f4b'} {4} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.368206s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.138237s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.421543s] ... ok {4} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.028049s] ... ok {4} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.129866s] ... ok {4} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.110580s] ... ok {4} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.324714s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.022949s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.023390s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.023333s] ... ok {4} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.094335s] ... ok {4} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_random_exception [0.017664s] ... ok {4} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.020159s] ... 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-4197fb05-3810-4aa7-bae4-f4f04d5a8a4c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.074351s] ... ok {4} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.158757s] ... ok {4} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.109149s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPortgroupObject.test_portgroup_init [0.013411s] ... ok {4} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {4} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.055945s] ... ok {4} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.036102s] ... ok {4} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.045747s] ... ok {4} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.028712s] ... ok {4} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.034383s] ... ok {4} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.037400s] ... ok {4} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.040360s] ... ok {4} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.034430s] ... ok {4} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.040830s] ... ok {4} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.101645s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.099809s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'c9818618-555c-4006-a7ef-08c2a2200c60', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4fcfcd79-dba0-4495-9c58-21a30762f0b6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "c9818618-555c-4006-a7ef-08c2a2200c60", "updated_at": "2018-08-14T14:39:47.113019+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-08-14T14:39:47.044361+00:00"} {5} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.131220s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.041587s] ... 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-b5403bdb-bb58-4a95-9d43-8e959ed2b6ef X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} 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'2018-08-14T14:39:48.138453+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.077304s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.092559s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.199601s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.035188s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.106164s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.122003s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.036143s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.034068s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [0.072983s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.167143s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.170695s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.095811s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.072895s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.134384s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.102195s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.166357s] ... ok {4} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sht [0.030876s] ... ok {4} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_cleaning [0.096424s] ... ok {4} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_maintenance_when_raise_exception [0.250613s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.079457s] ... ok {4} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.149130s] ... ok {4} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.120973s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.095010s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_no_proxy_without_proxies [0.173297s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_is_done [0.098206s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.249978s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.095767s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.017893s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.017462s] ... ok {4} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.048059s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.020932s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.246105s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.026614s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.122764s] ... ok {4} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_enabled [0.023484s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.025232s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.029105s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_console [0.124853s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.097038s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.097235s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_timeout_ok [0.103999s] ... 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-23cf2671-c51b-4953-b46f-10050e262828 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.185088+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"} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.102923s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.159624s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.038991s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.033848s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.116717s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.121369s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot [0.131270s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info [0.046843s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.035507s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.020657s] ... 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-5095a014-4103-4075-8214-f42aa061491c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.101498s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.019525s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.023654s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.024459s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.023930s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.066932s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.081831s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.105278s] ... ok {4} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_address [0.054538s] ... ok {4} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.099424s] ... ok {4} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.092669s] ... ok {4} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_existing_interfaces_inspector [0.015510s] ... ok {4} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_not_mounted_exception [0.002434s] ... ok {4} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.019493s] ... ok {4} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.105523s] ... ok {4} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.015925s] ... ok {4} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.013264s] ... ok {4} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.016088s] ... ok {4} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.012053s] ... ok {4} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.016087s] ... 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-8ce89731-b98c-41c2-92ee-7d6847fddabf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {30} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.058818s] ... 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-fafffb45-773b-4ad8-a001-6d23619b181d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:54.073732+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"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.096865s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-47af4e30-4f72-4525-b73e-29e1812d155e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.388712+00:00"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.107455s] ... 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-b43598be-268a-4f8c-8fbe-59c225994d52 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.074950s] ... 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-74a5a0fb-4f3e-4eec-87f9-70da516b403b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.064602s] ... ok {15} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.027808s] ... ok {15} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.025203s] ... ok {15} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions_bad [0.030915s] ... ok {15} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.040764s] ... ok {15} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.029955s] ... ok {15} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type [0.022680s] ... ok {15} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.096282s] ... 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-1650aa6d-6849-4c85-8ed4-f81863a321e0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.144052s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestVolumeTargetObject.test_volume_target_init [0.014334s] ... ok {15} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.016561s] ... ok {15} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.018396s] ... ok {15} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.022070s] ... ok {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.015740s] ... ok {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.016148s] ... ok {15} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.223978s] ... ok {15} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.222459s] ... ok {15} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.294698s] ... ok {15} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_not_supported [0.281388s] ... ok {15} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.107708s] ... ok {15} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.104594s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.330810s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.372910s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_ok_without_console [1.039346s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provisioning_action_worker_pool_full [0.333317s] ... ok {15} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.025218s] ... ok {15} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_non [0.206317s] ... ok {15} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.108669s] ... ok {15} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_vendor_interface_not_supported [0.144853s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.023463s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.022611s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.016650s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.038818s] ... ok {15} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.017459s] ... ok {15} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.148438s] ... ok {15} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.100846s] ... ok {15} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.041182s] ... ok {15} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.033554s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4bf3f832-bcfa-4d21-acf4-a1293dd99b44 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {15} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.058454s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.057124s] ... ok {15} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.084256s] ... ok {15} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.053595s] ... ok {15} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.038734s] ... ok {15} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_deprecated_opts [0.036715s] ... ok {15} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.119392s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.029181s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.118119s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.121715s] ... 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-c258a07a-0f98-4385-9900-43a7ae08bb7b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "created_at": "2018-08-14T14:39:47.715628+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.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.089127s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs [0.037147s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.040720s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.039409s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.014635s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.141338s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.161407s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_no_pin [0.015869s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.054853s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.084877s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_none [0.015100s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.097983s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.013852s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.072101s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.070746s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.090612s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_without_copy [0.163424s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.074373s] ... 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'}]} {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.180395s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.082546s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.030936s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.112968s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.107950s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.104677s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.112659s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.095321s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_manage_boot_false [0.031389s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_invalid_device [0.090226s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_invalid_state [0.087397s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_off_with_timeout [0.095088s] ... ok {15} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.096985s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.089197s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.122670s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done [0.101021s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook_no_hook_registered [0.053504s] ... ok {15} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.026901s] ... ok {15} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.019382s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_running [0.092231s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.029469s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.037107s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.014180s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.014099s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Keystone uri='https://127.0.0.1:35357' {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}} {3} ironic.tests.unit.api.test_acl.TestACL.test_non_authenticated [0.066636s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.015378s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.046419s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id_extra [0.093099s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.032051s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.023216s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.019909s] ... ok {15} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.027705s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.031474s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.089029s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.090398s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.094575s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.090657s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.092894s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.040722s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.094711s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.219169s] ... 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-f5749f86-c55d-42a4-aa83-d7b19dc9bda3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.053635s] ... ok {15} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_local_boot [0.115171s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.034095s] ... ok {15} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_rescue [0.119991s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs_fail [0.016335s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface [0.014836s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.025392s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.013454s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.019545s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.025594s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.024846s] ... ok {15} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_service_profile [0.068655s] ... ok {15} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.094905s] ... ok {15} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver_exc [0.003076s] ... ok {15} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_mounted_ok [0.006001s] ... ok {15} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___try_import_exception [0.001555s] ... ok {15} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver_exc [0.002766s] ... ok {15} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver_import_error [0.009950s] ... ok {15} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.028122s] ... ok {15} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.026655s] ... ok {15} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.014194s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.020292s] ... ok {15} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.025457s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=4e7626dc-93a3-444b-9bf5-26a3bc2263e5 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'4e7626dc-93a3-444b-9bf5-26a3bc2263e5', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/4e7626dc-93a3-444b-9bf5-26a3bc2263e5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4e7626dc-93a3-444b-9bf5-26a3bc2263e5', 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'}}} {23} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.079878s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name [0.014089s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_links_node_states_and_driver_properties [0.014845s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.014548s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.016495s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroup_mode_properties [0.014287s] ... ok {15} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.020140s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups [0.014806s] ... ok {15} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.028798s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs_fail [0.017307s] ... ok {15} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.022621s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.013386s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {24} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.046753s] ... ok GET: /v1/volume/targets/23865609-ec03-4969-8c95-30013ec28664 {} GOT:{u'boot_index': 0, u'uuid': u'23865609-ec03-4969-8c95-30013ec28664', u'links': [{u'href': u'http://localhost/v1/volume/targets/23865609-ec03-4969-8c95-30013ec28664', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/23865609-ec03-4969-8c95-30013ec28664', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.853718+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/23865609-ec03-4969-8c95-30013ec28664 {} GOT:{u'boot_index': 0, u'uuid': u'23865609-ec03-4969-8c95-30013ec28664', u'links': [{u'href': u'http://localhost/v1/volume/targets/23865609-ec03-4969-8c95-30013ec28664', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/23865609-ec03-4969-8c95-30013ec28664', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.853718+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/23865609-ec03-4969-8c95-30013ec28664 {} GOT:{u'boot_index': 0, u'uuid': u'23865609-ec03-4969-8c95-30013ec28664', u'links': [{u'href': u'http://localhost/v1/volume/targets/23865609-ec03-4969-8c95-30013ec28664', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/23865609-ec03-4969-8c95-30013ec28664', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.853718+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'}} {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.220819s] ... ok {18} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.105548s] ... ok {18} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.033765s] ... ok {18} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.027096s] ... ok {18} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.014727s] ... ok {18} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.019768s] ... ok {18} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.023742s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-88816e84-f821-4ae2-91f5-4c0522491cce X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:47.447451+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:47.447451+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'******'}} {18} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.030150s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.110000s] ... ok {18} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href [0.017049s] ... ok {18} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.016559s] ... ok {18} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.023076s] ... ok {18} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.014934s] ... ok {18} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.098519s] ... ok {18} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.017815s] ... ok {18} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.014358s] ... 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-0967f9de-f59e-467c-a44f-421a03ab9bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:46.688474+00:00", "updated_at": "2018-08-14T14:39:46.758143+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-47cf07cc-6153-475c-8662-716fac9e8fe6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:46.688474+00:00", "updated_at": "2018-08-14T14:39:46.818800+00:00", "address": "52:54:00:cf:2d:31"} {18} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.024617s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.186522s] ... ok {18} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.018817s] ... ok {18} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.049118s] ... ok {18} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.050428s] ... ok GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75e9ae96-3392-4e44-a0fa-181cd0e7c2f3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress. Error: Expected a MAC address but received invalid-mac-format.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.055663s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.317934s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_tear_down_fail [0.154142s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_db_error [0.320289s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [1.108511s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.096777s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.022853s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.032342s] ... ok {18} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.220246s] ... ok {18} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.395650s] ... 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-64e7eda6-e34e-419a-9718-a1bb025ea272 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2018-08-14T14:39:48.617531+00:00", "updated_at": null, "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_update_byid [0.110393s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_node_locked [0.063202s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi [0.090669s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_invalid_param [0.089460s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_missing_param [0.093283s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_shutdown [0.206391s] ... ok {18} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.067499s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.022006s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.025867s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.021763s] ... ok {18} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.014418s] ... ok {18} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.180542s] ... ok {18} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect 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-011169fa-7b0b-4ce8-b9c6-4082eb9d998d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.070343s] ... ok {18} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.082811s] ... ok {18} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.093165s] ... ok {18} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.057620s] ... ok {18} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.047028s] ... ok {18} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.100759s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.037756s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_force_reboot [0.175293s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.125534s] ... ok {18} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device [0.103816s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.191005s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.112776s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.148463s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.127213s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.116294s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-799e6296-27c2-4d0b-b24d-f228ce6342a9 {"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)\"}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.048236s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.236596s] ... ok {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.027858s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.053276s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.024370s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.030718s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.091068s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.068607s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.134538s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.115871s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.119777s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.174450s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_input [0.032826s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.094188s] ... ok Malformed option m1key1=value1 {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.027109s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.108429s] ... ok {3} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_unsupported_interface_reset [0.016386s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.020536s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.098789s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.028942s] ... ok GET: /v1/portgroups?sort_key=mode {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'40290d6c-081b-4698-9567-ca2e18178edb', u'links': [{u'href': u'http://localhost/v1/portgroups/40290d6c-081b-4698-9567-ca2e18178edb', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/40290d6c-081b-4698-9567-ca2e18178edb', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'3d913f0c-a909-448a-99e2-737944a5cee0', u'links': [{u'href': u'http://localhost/v1/portgroups/3d913f0c-a909-448a-99e2-737944a5cee0', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/3d913f0c-a909-448a-99e2-737944a5cee0', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'f19f2483-95e0-46fc-ba3e-c0dc77883845', u'links': [{u'href': u'http://localhost/v1/portgroups/f19f2483-95e0-46fc-ba3e-c0dc77883845', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f19f2483-95e0-46fc-ba3e-c0dc77883845', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {18} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.306316s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.114585s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.140759s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.098534s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.028303s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.116109s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.085241s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.206319s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.121887s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.013901s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.091145s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fe355cec-4438-4535-aed7-2e58aa89587d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'properties': {'bond_prop': 123}, 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2b01cd6b-18e2-477c-a675-240529f8090e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.017639s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.090101s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.095243s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.017907s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.014411s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client_insecure_false [0.032324s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.089902s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.014850s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.100165s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_cleaning [0.097889s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_none [0.014406s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.129745s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_validate [0.099044s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type [0.014880s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_throws_for_invalid_or_unsupported_hash [0.014909s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__create_profile_from_template [0.036782s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_trait [0.017149s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.014862s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.084058s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state [0.094732s] ... 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-4fb11344-83a6-413e-bee2-156134a4eb94 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {3} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.244941s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.059984s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.015472s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_proxies [0.163900s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.512551s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_error [0.203008s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.099431s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.092538s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.167406s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [1.288896s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_uefi [0.101414s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.037718s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.133469s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0596ccbe-ec16-4301-8450-8663d8be66c9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.026098s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.094010s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.015966s] ... ok {18} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.027060s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.223342s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.095325s] ... ok {18} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.023504s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.040356s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.223887s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.033498s] ... ok {3} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive [0.070461s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.134659s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.162851s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.033913s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.076301s] ... ok {18} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_url [0.033561s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.130249s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.020216s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.098443s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.117903s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.019439s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.036197s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.022463s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.022425s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.038193s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_vendor_routes [0.070297s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.022805s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.130220s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.076169s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.022248s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_ramdisk [0.033849s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.017574s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.041064s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.024206s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.025223s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.071312s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.025132s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.085678s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.023606s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.024467s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.104608s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.033057s] ... 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-dbf97c68-b32a-4c54-922e-ffef3b9d97f7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.019947s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.052139s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.096863s] ... ok {18} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.107513s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.035494s] ... ok {18} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_with_inspector_interface_enabled [0.096441s] ... 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-bea9d2f1-abcc-426e-8d6b-f66c92d5456a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:48.072324+00:00", "updated_at": "2018-08-14T14:39:48.079826+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-5efa430f-bb70-4415-a87f-7f8b6a657690 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:48.072324+00:00", "updated_at": "2018-08-14T14:39:48.079826+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.046938s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.165190s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.055559s] ... ok {31} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.127014s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.020749s] ... ok {31} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task_incorrect [0.592472s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.023394s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.034096s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.110396s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.039757s] ... ok {31} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.088020s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.021504s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_soft_poweroff_retry [0.163127s] ... ok {31} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_invalid [0.018137s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.138001s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.013857s] ... ok {31} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.013723s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.127240s] ... ok {18} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.016539s] ... ok {18} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.016068s] ... ok {31} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.017870s] ... 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-63fb0be2-3a74-4280-8694-be78ccb61882 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.070338s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.122687s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.078378s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.009203s] ... ok {31} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.060587s] ... ok {18} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.017127s] ... ok {31} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.019980s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_object_name [0.035820s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.071605s] ... ok {31} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.099504s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.127689s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.033480s] ... ok {31} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.014599s] ... ok {31} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.021798s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.033662s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.032721s] ... ok {31} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.022284s] ... ok {31} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.022511s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.465167s] ... ok {31} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.027115s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.146271s] ... ok {31} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.117472s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.108842s] ... ok {31} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.019159s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.109614s] ... ok {31} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.014917s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.304852s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.299801s] ... ok {31} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.377776s] ... ok {31} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.029106s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif [0.114225s] ... ok {31} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.024144s] ... ok {31} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [1.013606s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.111824s] ... ok {31} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_agent_ilo [0.227905s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.114606s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.109480s] ... ok {31} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.108750s] ... ok {31} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.016623s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.094468s] ... ok {31} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.022111s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_cleaning [0.124411s] ... ok {31} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.019528s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down_cleaning [0.132741s] ... ok {31} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.021431s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_fail [0.123819s] ... ok {31} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.036724s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.096898s] ... ok {31} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.016188s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.034686s] ... ok {31} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.021177s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.124455s] ... ok {31} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.024314s] ... ok {31} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.843850s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.105889s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.121110s] ... ok {31} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.073313s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_still_running [0.092773s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.101344s] ... ok {31} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.049660s] ... ok {31} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.038173s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.232227s] ... ok {31} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.057914s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.130754s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.016317s] ... ok {31} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.045869s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.059604s] ... ok {31} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.113270s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.057832s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.037492s] ... ok {31} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.123338s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.030618s] ... ok {31} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_fail [0.125471s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.042586s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.030779s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.056420s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.029148s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.085688s] ... 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-8a3aeac1-1820-44d8-a46e-3f7f5a9d023f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.150357s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.029068s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.213506s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_ok [0.025581s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.104677s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.079446s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.093456s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.086749s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.041467s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot_timeout [0.097682s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_fail [0.096945s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.031689s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.100680s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.019893s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.030613s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.125031s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.050202s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.149110s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_wdi [0.099745s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_with_logs [0.086615s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.037021s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.084226s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.059294s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_without_component [0.087399s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.029456s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [0.072818s] ... ok 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-e8412863-2ea6-4581-8fba-b99769c7045e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.035836s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.025969s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.059232s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.179213s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.023271s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.023289s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.085838s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.019868s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.029739s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.020548s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.035637s] ... ok {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.100253s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.115009s] ... 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-24652572-f32f-4305-97ca-8704b073e614 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {3} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver_exc [0.002845s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.068176s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.096800s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.126577s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.028188s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.138344s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_inject_nmi [0.014894s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.015887s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.016614s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_get_properties [0.048369s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.020911s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_not_in_use_by_oneview [0.236979s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__del_applied_server_profile_uri_field [0.091802s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.014353s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.020218s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_fail_to_get_server_profile [0.088168s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_onetime_boot_persistent [0.088359s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.025059s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_with_timeout [0.093903s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.031218s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.030438s] ... ok {31} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.101894s] ... ok {31} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.110937s] ... ok {31} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.134609s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.093706s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_partition_image [0.154435s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-48b8192a-71d5-4e31-b40c-a1a738aaa9e3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.288398+00:00"} {5} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.116488s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_image [0.192386s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.126161s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.088510s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.122876s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_get_power_state_fails [0.132188s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.014675s] ... 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-6a6f178b-c560-4d39-baa6-dcda81c3531c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {23} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.062445s] ... ok {31} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.055413s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.035189s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.089093s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.089759s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.086992s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.040938s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.041788s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_ok [0.032875s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.090189s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_fail [0.093680s] ... 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-8800aed0-8977-4a11-ada4-b860b1711461 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.091736s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.089281s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.168355s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.181375s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.079855s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.091239s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options [0.111101s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.042492s] ... ok {31} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_existing_interfaces [0.022331s] ... ok {31} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver_import_error [0.002842s] ... ok {31} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.024756s] ... ok {31} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.015244s] ... ok {31} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.020280s] ... ok {31} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.021182s] ... ok {31} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.023120s] ... ok {31} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.021065s] ... ok {31} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.014048s] ... ok {31} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.016495s] ... ok {31} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version_subset_of_fields [0.020683s] ... ok {31} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.013797s] ... ok {31} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.008865s] ... ok {31} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.019748s] ... ok {31} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.012150s] ... 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'2018-08-14T14:39:47.242398+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {21} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.076926s] ... 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-b635e617-a8b5-4615-beff-ac4b6fd94e70 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.872597+00:00", "updated_at": "2018-08-14T14:39:47.932454+00:00", "address": "aa:bb:cc:dd:ee:ff"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.203190s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.026897s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.020072s] ... 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-11a60b04-209e-4cf1-b741-62c57e572205 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/mode' is a mandatory attribute and can not be removed\"}"} {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.056648s] ... 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-246bdde9-69e6-4b28-b7b7-13f35480e029 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.055175s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.048304s] ... 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-04c4beae-5ca8-4ee6-b0d1-d2e5e94eaf7b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute persistent. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.056326s] ... 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'}]} {21} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.077871s] ... 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-3db80233-fb4b-4039-92fe-8e3035a4b27d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.055197s] ... ok GET: /v1/volume/targets?node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'4cfcf829-34a4-4ed5-a7f9-ee6420aea91b', u'links': [{u'href': u'http://localhost/v1/volume/targets/4cfcf829-34a4-4ed5-a7f9-ee6420aea91b', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/4cfcf829-34a4-4ed5-a7f9-ee6420aea91b', 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'92681fa8-73ad-4b94-a3e5-764925f9a254', u'links': [{u'href': u'http://localhost/v1/volume/targets/92681fa8-73ad-4b94-a3e5-764925f9a254', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/92681fa8-73ad-4b94-a3e5-764925f9a254', 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'dd72b3d6-371b-4d5f-bffb-40ce60aed9c2', u'links': [{u'href': u'http://localhost/v1/volume/targets/dd72b3d6-371b-4d5f-bffb-40ce60aed9c2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/dd72b3d6-371b-4d5f-bffb-40ce60aed9c2', 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_get_all_by_node_name_ok [0.125490s] ... ok {24} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.159824s] ... ok {24} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_not_allowed_interfaces_set [0.045896s] ... ok {24} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_with_swift [0.020161s] ... ok {24} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.019537s] ... ok {24} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.017361s] ... 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-c06c5524-fee9-4349-83df-b2a2b257a02e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2018-08-14T14:39:48.100866+00:00", "updated_at": "2018-08-14T14:39:48.111753+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {25} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.118842s] ... ok {24} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.022090s] ... ok {25} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.130887s] ... ok {25} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.033612s] ... ok {24} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.011353s] ... ok {24} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.133451s] ... ok {25} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.014157s] ... ok {24} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.090445s] ... ok {25} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.158195s] ... ok {24} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.103876s] ... ok {25} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta [0.014687s] ... ok {24} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.027784s] ... 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-3f6987c7-812e-407e-b2f7-6550fc7684eb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2018-08-14T14:39:48.762914+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'2018-08-14T14:39:48.762914+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.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_rescue_interface [0.027329s] ... ok {24} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.013945s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.119624s] ... ok {24} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.228721s] ... ok {25} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__deprecated_opts [0.032014s] ... ok {24} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.349187s] ... ok {30} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.141759s] ... ok {25} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.031459s] ... ok {24} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [1.320927s] ... ok {30} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.111270s] ... ok {25} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.015766s] ... ok {24} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.354344s] ... ok {30} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.014423s] ... ok {25} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_no_exception [0.014104s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.135304s] ... 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-62b12a58-1b91-47f1-984a-39602c77d901 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {25} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.048046s] ... ok {30} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.054213s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps [0.099134s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.079000s] ... ok {25} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.024225s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_unexpected_error [0.352651s] ... ok {30} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.111989s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.293747s] ... ok {30} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.009588s] ... ok {25} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.020046s] ... ok {24} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.022998s] ... ok {30} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.019339s] ... ok {25} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.096942s] ... ok {24} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.476444s] ... ok {25} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.124084s] ... ok {30} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.117927s] ... ok {30} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.105973s] ... ok {25} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.045647s] ... ok {24} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.105633s] ... ok {30} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.104830s] ... ok {24} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.119732s] ... ok {25} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.018392s] ... ok {30} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.035665s] ... ok {30} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.060278s] ... ok {25} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.030011s] ... ok {24} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.206926s] ... ok {30} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_out_range_auth_strategy [0.027904s] ... ok {25} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.084280s] ... ok {30} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.117649s] ... ok {24} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.262538s] ... ok {25} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.054647s] ... ok {24} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.029767s] ... ok {30} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_volumes [0.080549s] ... ok {25} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.034642s] ... ok {30} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.072685s] ... ok {24} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.022059s] ... ok {30} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.059600s] ... ok {24} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.051619s] ... ok {25} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.014132s] ... ok {30} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.088803s] ... ok {24} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.049820s] ... ok {25} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.013942s] ... ok {30} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.016536s] ... ok {24} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.123430s] ... ok {25} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.066945s] ... ok {24} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.031589s] ... ok {30} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.045355s] ... ok {25} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.069729s] ... ok {24} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_max_count_zero [0.078907s] ... ok {30} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.026797s] ... ok {25} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.271267s] ... ok {24} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.073066s] ... ok {30} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.611486s] ... ok {25} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.283969s] ... ok {24} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.065971s] ... ok {30} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.135576s] ... ok {25} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.026234s] ... ok {24} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.041412s] ... ok {30} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.311577s] ... ok {25} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.058619s] ... ok {24} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.036799s] ... ok {25} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ipmitool [0.253817s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [1.466732s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.022252s] ... ok {25} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.089205s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.379930s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.050196s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.168000s] ... ok {25} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_timeouts [0.384686s] ... ok {24} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.034601s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.125196s] ... ok {25} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.022473s] ... ok {24} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.053668s] ... ok {25} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.020773s] ... ok {30} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.025745s] ... ok {24} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.112707s] ... ok {25} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.084901s] ... ok {30} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.295479s] ... ok {24} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.082959s] ... ok {24} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.100372s] ... ok {25} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.034445s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.014440s] ... ok {30} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_not_supported [0.091957s] ... ok {30} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.096786s] ... ok {24} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state [0.074764s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.028579s] ... 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,)) {30} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.115962s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.064455s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.023490s] ... ok {30} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.316814s] ... ok {30} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.039822s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.029310s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.041351s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.023294s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.042535s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.059441s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.048293s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.037767s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.076789s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.023945s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_uuid [0.082150s] ... ok {30} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.017240s] ... ok {25} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.022841s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.093815s] ... ok {30} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.105089s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.076094s] ... ok {30} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.124436s] ... ok {25} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.054462s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.010509s] ... ok {30} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.061230s] ... ok {30} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.051094s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_not_supported [0.039170s] ... ok {25} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.018735s] ... ok {25} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.017447s] ... ok {30} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.037720s] ... ok {25} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.100395s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.097371s] ... ok {30} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.032118s] ... ok {25} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.091510s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.095723s] ... ok {30} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_validate [0.095424s] ... ok {25} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.125403s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.096785s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.071272s] ... ok {25} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.026577s] ... ok {30} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_imc_exception [0.095205s] ... ok {25} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.089826s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.101240s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.198312s] ... ok {25} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_one_driver [0.039479s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.104220s] ... ok {25} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.096737s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.084894s] ... ok {25} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.111295s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.190045s] ... ok {25} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.048482s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.084270s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.138419s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.097979s] ... ok {25} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.044043s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.084225s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.030066s] ... ok {25} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.042225s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.145721s] ... ok {25} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_to_instance [0.141810s] ... ok {24} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_with_automated_clean_disabled [0.064569s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_swift_url [0.099398s] ... ok {25} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.043238s] ... ok {24} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_off [0.060595s] ... ok {25} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_sensors_data [0.111663s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.071078s] ... ok {24} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.108991s] ... ok {25} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on [0.102185s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.093345s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_did_start [0.074477s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.043317s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.129647s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.092494s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.102422s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.119310s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0ac68fe9-2f9b-4d89-876f-324e8696defe X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "created_at": "2018-08-14T14:39:46.941454+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'aa:bb:cc:dd:ee:ff', u'internal_info': {}, u'created_at': u'2018-08-14T14:39:46.941454+00:00'} {25} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.092160s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.158358s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.060457s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.036783s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.128991s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_reboot [0.094334s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.105210s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.107417s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.033379s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_fails [0.086900s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_bad_command_result [0.074201s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.100047s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_missing_command_result [0.075825s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.117689s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.034710s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_steps [0.070816s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.108025s] ... ok {24} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.019965s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [1.195897s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.013515s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.106461s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.021779s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.031169s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.067625s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.051363s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.094805s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.103086s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.024747s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.128508s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.079095s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.100988s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.297083s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic [0.090910s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.078817s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_no_server_profile [0.088524s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.127842s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif_removal_no_deprecation [0.110436s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_not_persistent [0.117630s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.017167s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.056706s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.059255s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_sensors_data_not_implemented [0.095135s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.148043s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.056335s] ... ok {30} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.082334s] ... ok {30} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.034073s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_fails [0.032990s] ... ok {24} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.009315s] ... ok {30} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.033330s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_ilo_access [0.033756s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.010838s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info [0.031624s] ... ok {30} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.141118s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.010604s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_get_properties [0.037957s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.275664s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.011914s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.100737s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_successfuly_allocated_to_ironic [0.099608s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.018714s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook [0.057369s] ... 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': []} {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.055670s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_fail [0.094943s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.110065s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.143220s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy [0.168694s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.023677s] ... ok PATCH: /v1/portgroups/d89a1c7e-fbf1-407a-b594-95692f9b6122 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af474f72-d46f-48f4-a03a-4b110bb1726c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup d89a1c7e-fbf1-407a-b594-95692f9b6122 could not be found.\"}"} {25} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_multiple_commands [0.097156s] ... ok {30} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.021054s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.063538s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.022919s] ... ok {30} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.020695s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.126947s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.024754s] ... ok {30} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.431359s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.099631s] ... ok {30} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.016748s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_bad_device [0.061474s] ... ok {30} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.022491s] ... ok {24} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.116897s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.016165s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.017260s] ... ok {24} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.007654s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.102863s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.029948s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.100693s] ... ok {24} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.062516s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.079175s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.036911s] ... ok {24} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_without_is_whole_disk_image [0.045582s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.014871s] ... ok {24} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.016990s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.014427s] ... ok {24} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_up [0.134943s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.046069s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.122318s] ... ok {24} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_supported_boot_devices [0.015282s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.041048s] ... ok {24} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_driver [0.001747s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.082809s] ... ok {24} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___try_import_exception [0.000903s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.040559s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_fail [0.084358s] ... ok {24} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver [0.002409s] ... ok {24} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.017725s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.124415s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.079549s] ... ok {24} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.012468s] ... ok {24} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.012576s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false [0.121837s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.094347s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.171797s] ... ok {24} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.015599s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.039237s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.125118s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.007589s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.020356s] ... ok {30} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.173197s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.069313s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.007466s] ... ok {30} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info [0.065139s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.007176s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.038758s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.036813s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.009586s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.040902s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.009405s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.025156s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.043657s] ... ok {24} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.011751s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.029418s] ... ok {24} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.014291s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_fail [0.098021s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.026666s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_already_off [0.095609s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.022216s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.019183s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.047625s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.014685s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_exceed_iterations [0.124991s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.023544s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot__wait_state_change_fail [0.139623s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.025257s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.019686s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_timeout [0.140201s] ... ok {30} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.066388s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.020795s] ... ok {30} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.009140s] ... 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b9a5eeae-88a2-419e-9dd1-582b8846aa1c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_cannot_send_create_port [0.088900s] ... ok {25} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm_fail [0.223970s] ... ok {30} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.011151s] ... ok {25} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_timeout [0.273037s] ... ok {30} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.017075s] ... ok {30} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.012862s] ... ok {30} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.011840s] ... ok {25} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.038120s] ... ok {25} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_agent [0.100767s] ... ok {30} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.009691s] ... ok {25} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.096858s] ... ok {30} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.009882s] ... ok {25} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.035028s] ... ok {30} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.015730s] ... ok {30} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.012006s] ... ok {25} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.103639s] ... ok {30} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.015239s] ... ok {25} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.036419s] ... ok {25} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.015655s] ... ok {25} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.028828s] ... ok GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{u'portgroups': []} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.120165s] ... 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'2018-08-14T14:39:47.779367+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.078405s] ... 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-df056eb9-ee5e-486a-980a-e2550a1c917f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:47.641789+00:00", "updated_at": "2018-08-14T14:39:47.649233+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-30e2a01a-f67e-4c68-aa2d-fa9ac6045539 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.641789+00:00", "updated_at": "2018-08-14T14:39:47.649233+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {23} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.161508s] ... ok GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b7d49e7d-0963-4b05-931c-c588b56d6652 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7b26ffb1-6371-4c37-99ba-814f71bab9ee X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-22571cae-69c9-4dcf-b944-a9c77bbab38a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {21} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.066325s] ... ok func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. {21} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.023752s] ... ok {21} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.123424s] ... 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-fba0cd0b-bb08-4db3-8258-2ae7db919fdb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.063882s] ... ok {21} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.103164s] ... ok {21} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.019680s] ... ok {21} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.036391s] ... ok {21} ironic.tests.unit.common.test_exception.TestIronicException.test___init__ [0.013296s] ... ok {21} ironic.tests.unit.common.test_exception.TestIronicException.test___init___string_serializable [0.014488s] ... ok {21} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.029019s] ... ok {21} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.015137s] ... ok {21} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.104564s] ... ok {21} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.114076s] ... ok {21} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.013590s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.085208s] ... ok {21} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.038318s] ... ok {21} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.315776s] ... ok {21} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.282907s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.381291s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.353729s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.342756s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.967768s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.330848s] ... ok {21} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_snmp [0.214450s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ca06628e-99f0-4e4a-b216-4569a582440a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:47.082342+00:00"} {29} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_cannot_send_create_port [0.109370s] ... ok {21} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.341753s] ... ok {21} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.203929s] ... ok {21} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.156094s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.202362s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices [0.069411s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task [0.214457s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.103964s] ... ok {21} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async_hw_type [0.272988s] ... ok {21} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.041907s] ... ok {21} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.018770s] ... ok {21} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.018123s] ... ok {21} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.016195s] ... ok {21} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.141374s] ... ok {21} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {21} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {21} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_no_version [0.067836s] ... ok {21} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.029178s] ... ok {21} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.038902s] ... ok {21} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.053445s] ... ok {21} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.078041s] ... ok {21} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.051397s] ... ok {21} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.046746s] ... ok {21} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.048825s] ... ok {21} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.033833s] ... ok {21} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.043393s] ... ok {21} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.065789s] ... ok {21} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.045191s] ... ok {21} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.132653s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.090528s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.147964s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.071370s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.090271s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.029040s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.030065s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.018954s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.044948s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.091078s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.089363s] ... 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-7dc7da77-3611-494d-9a5d-911cf7898f38 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:47.555149+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"} {21} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_clean_step_foreach_url [0.110856s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.087510s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.065383s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.086679s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.033786s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.138370s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.148709s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.159863s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.097597s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.114241s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.070826s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.075125s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.161143s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.104229s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.099766s] ... ok {21} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_properties [0.031891s] ... ok {21} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_deploy [0.095298s] ... ok {21} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_has_sp_applied [0.088594s] ... ok {21} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_inspect_hardware [0.102347s] ... ok {21} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.124294s] ... ok {21} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.030704s] ... ok {21} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.092018s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.037402s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.143476s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_fail [0.098724s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_old_command [0.090660s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy [0.156838s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off_failed [0.158122s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.029193s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.017749s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.016155s] ... ok {21} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.019718s] ... ok {21} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.052295s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities [0.100651s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.126899s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.017001s] ... ok PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8cf44c89-6df4-4133-ab28-d17899354fed X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9f286089-c1c6-44af-84bd-1a014108fd86 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba4cb98f-d794-40ab-b57f-6708ec878faa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6012392b-11aa-4a6f-aa3b-d0c3dcb1794b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff579a7e-1707-4295-b66b-df67d0906510 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-11164542-7e98-4f71-9b6c-d78b3e77962e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6bfe0e87-72c2-4d07-996a-747b9234e592 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b9b97195-6538-4548-bbce-54e5792357a7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "8b529e80-7a9d-4885-a0c7-6604dc5ce5fc", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-08-14T14:39:46.540241+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8b529e80-7a9d-4885-a0c7-6604dc5ce5fc/ports", "rel": "bookmark"}], "console_interface": null, "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_interface_fields [0.374118s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.049533s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.249639s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.019239s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.032489s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_empty_password [0.121198s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.093909s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.096961s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.099557s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.043157s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_ok [0.091557s] ... ok {21} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.070333s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.115980s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.064685s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_partition [0.083722s] ... ok {21} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.008686s] ... ok {21} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_for_all_in_tree_drivers [0.011419s] ... ok {21} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_iscsi_driver_exc [0.001848s] ... ok {21} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver [0.003469s] ... ok {21} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.013070s] ... ok {21} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.013201s] ... ok {21} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.077880s] ... ok {21} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.012076s] ... ok {21} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.024233s] ... ok GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9bbe9363-0216-48ba-be7d-efcf2230a75a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2dccd33c-042e-4f14-a9e2-56c6e8c87a52 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f254764e-740d-4092-b46b-d50d4464d099 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aaff5d75-e015-4fcf-b364-b9a994477ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.074703s] ... ok {21} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.011693s] ... ok {21} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.014804s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-9482d57b-e10c-48ab-831b-c31a67c12564 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 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-5f0b2a41-709d-4e0a-8861-bc7356f6202e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2018-08-14T14:39:47.803698+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {5} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.066226s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.105378s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': []} {23} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.056595s] ... ok GET: /v1/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'f2b39024-ee95-4b92-9603-02cf6412c8ee', u'links': [{u'href': u'http://localhost/v1/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:48.196776+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/f2b39024-ee95-4b92-9603-02cf6412c8ee/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /v1/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'f2b39024-ee95-4b92-9603-02cf6412c8ee', u'links': [{u'href': u'http://localhost/v1/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:48.196776+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/f2b39024-ee95-4b92-9603-02cf6412c8ee/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'f2b39024-ee95-4b92-9603-02cf6412c8ee', u'links': [{u'href': u'http://localhost/v1/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:48.196776+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/f2b39024-ee95-4b92-9603-02cf6412c8ee/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f2b39024-ee95-4b92-9603-02cf6412c8ee/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.166717s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid [0.013695s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_optional_key [0.013839s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_network_interface [0.020441s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_resource_class [0.015197s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail [0.014911s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.013946s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.014005s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.015486s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.044170s] ... 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': {}} {23} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.055822s] ... ok POST: /v1/heartbeat/95d3d13f-01ca-4ae0-8cc9-b3dc75ca43ad {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4259cc3b-aacf-4a18-b81c-fa53c454f662 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.040310s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_apimultitype_tostring [0.013509s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_bad_id [0.016120s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_volume [0.015241s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive_fails [0.014879s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_fail [0.015149s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.013124s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.043867s] ... 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': 'da39deb2-d189-4c99-b4b6-ff5b89af445a'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5b984500-9f7d-43ca-b453-84cc5e014eea X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_nostandalone_ports [0.087385s] ... 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-75b3915d-525e-47df-80f5-2c7c9a9e901d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:48.147207+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"} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.104601s] ... ok DELETE: /v1/portgroups/pg.1 GOT:Response: 204 No Content Openstack-Request-Id: req-da0ea2f4-7dcf-417e-ae65-fc2db9a24423 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {29} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.074911s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches [0.036320s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs [0.014636s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.017422s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.016917s] ... ok PATCH: /v1/volume/connectors/5f5d80da-6a1d-4e04-8615-cf6b33e2fedf [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bb7e42c1-2ede-497a-a17c-41ffaa98edde X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume connector 5f5d80da-6a1d-4e04-8615-cf6b33e2fedf could not be found.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.063246s] ... ok GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dae580fb-b564-4750-a78a-beaf98452631 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.044081s] ... 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-57183da4-58c9-4cfd-a6da-76a04fb389f3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.057585s] ... 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-14e2f9d0-ccfa-4b25-af94-42f0aa5e3e82 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2018-08-14T14:39:47.952627+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2018-08-14T14:39:47.952627+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.150014s] ... ok GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.031546s] ... ok Data migrations have not completed. Please re-run. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.032927s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.026524s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.017642s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_get_ring_success [0.058944s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.020656s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_code [0.020182s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.034272s] ... ok {1} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.196311s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.155094s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.029907s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.121125s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.038330s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.123422s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init___radosgw [0.164914s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.132306s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.029408s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.019099s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.093790s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_driver_or_hw_types [0.030820s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.096602s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.209809s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.366090s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort [0.136334s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_not_supported [0.115448s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.044595s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.034732s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [1.333893s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.247227s] ... 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'47f95073-5ab1-4a87-a1d6-25828fb799b6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/47f95073-5ab1-4a87-a1d6-25828fb799b6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/47f95073-5ab1-4a87-a1d6-25828fb799b6', 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'6a4b5716-702a-4f6c-aef5-8db667f14c90', u'links': [{u'href': u'http://localhost/v1/volume/connectors/6a4b5716-702a-4f6c-aef5-8db667f14c90', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/6a4b5716-702a-4f6c-aef5-8db667f14c90', 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'e857443c-a721-4eb8-8027-f90f94528ac0', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e857443c-a721-4eb8-8027-f90f94528ac0', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e857443c-a721-4eb8-8027-f90f94528ac0', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}]} {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.113299s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.440369s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.023616s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.385931s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.119411s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.129707s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.320560s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.099975s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.023687s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.017391s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.151323s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.105939s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.105891s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.020343s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_one_conductor [0.053786s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.057077s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.050523s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.034891s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.074904s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.031704s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.036512s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_fail [0.101345s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.093319s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.095742s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status [0.061847s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.040939s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.034894s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.122470s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.093962s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.017527s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.092140s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.094487s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_deploy_iso_with_image_service [0.105446s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_iscsi [0.153104s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift [0.169455s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.079923s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.118280s] ... ok POST: /v1/heartbeat/ca93c069-c629-4bdb-a7e1-564076458db9 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cedba8c3-545b-4376-a574-8a10020599fc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node ca93c069-c629-4bdb-a7e1-564076458db9 could not be found.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.050672s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.200088s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.034118s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.075859s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.013622s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.094930s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_advanced_net_fields [0.014405s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.071536s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs [0.015004s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.169838s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.012940s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.016068s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.298601s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.016162s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.126137s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.016289s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_deallocate_server_hardware_from_ironic [0.094588s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_invalid_device [0.092129s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.013832s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail [0.107352s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.110958s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_ramdisk [0.129129s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_other_commands [0.098263s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.201492s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.101544s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.016773s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.019659s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.039737s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_config [0.035797s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.014722s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.045722s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.036363s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.048258s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.030581s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_error [0.033234s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.037214s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.075966s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.041694s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.038300s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_failed [0.026892s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.067593s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.074787s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_fail [0.101030s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_returns [0.096238s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_ok [0.097069s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.084072s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.119157s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.200761s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.250880s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.127025s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue_timeout [0.161504s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.037259s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.022740s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.023093s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.019741s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_boot_interface [0.027907s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_get_properties [0.034021s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.009001s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.026219s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.032394s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.008322s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.008448s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.008380s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.010179s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.014094s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.014777s] ... 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/90868106-98a9-4a75-9c38-4a8ef6f25022 Openstack-Request-Id: req-c9c1149c-a36c-427b-bab4-094ff8e76488 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "90868106-98a9-4a75-9c38-4a8ef6f25022", "links": [{"href": "http://localhost/v1/volume/targets/90868106-98a9-4a75-9c38-4a8ef6f25022", "rel": "self"}, {"href": "http://localhost/volume/targets/90868106-98a9-4a75-9c38-4a8ef6f25022", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:48.031509+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/90868106-98a9-4a75-9c38-4a8ef6f25022 {} GOT:{u'boot_index': 0, u'uuid': u'90868106-98a9-4a75-9c38-4a8ef6f25022', u'links': [{u'href': u'http://localhost/v1/volume/targets/90868106-98a9-4a75-9c38-4a8ef6f25022', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/90868106-98a9-4a75-9c38-4a8ef6f25022', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:48.031509+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'}} {23} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.085162s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'48a3148e-06b1-4c5f-9b8d-e0efdbde3c80', u'links': [{u'href': u'http://localhost/v1/volume/connectors/48a3148e-06b1-4c5f-9b8d-e0efdbde3c80', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/48a3148e-06b1-4c5f-9b8d-e0efdbde3c80', 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'4d176d0e-c36b-46b7-b587-cd063efe12d9', u'links': [{u'href': u'http://localhost/v1/volume/connectors/4d176d0e-c36b-46b7-b587-cd063efe12d9', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/4d176d0e-c36b-46b7-b587-cd063efe12d9', 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'5eb2c832-69ce-43da-9e86-bcbea7bc64af', u'links': [{u'href': u'http://localhost/v1/volume/connectors/5eb2c832-69ce-43da-9e86-bcbea7bc64af', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5eb2c832-69ce-43da-9e86-bcbea7bc64af', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&limit=3&marker=5eb2c832-69ce-43da-9e86-bcbea7bc64af'} {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.121623s] ... 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-08f65ad6-6bb3-40d6-b9b0-92317c155fbb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.142776s] ... 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-6815c67a-5fcd-482b-86e7-27628506ea63 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.051654s] ... ok {23} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.025612s] ... ok {23} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.036815s] ... ok {23} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.021997s] ... ok {23} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.028470s] ... ok {23} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.014115s] ... ok {23} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.029832s] ... ok {23} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi [0.042022s] ... ok {23} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.099689s] ... ok {23} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.092990s] ... ok {23} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.016836s] ... ok {23} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_elilo_config [0.050993s] ... ok {23} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_uefi [0.093851s] ... ok {23} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.032267s] ... ok {23} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.034156s] ... ok {23} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.013954s] ... ok {23} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_fails_to_load_extension [0.015577s] ... ok {23} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.231956s] ... ok {23} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.348131s] ... ok {23} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.070950s] ... ok {23} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_not_supported [0.068868s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version_deprecated [0.408908s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_configdrive [0.351492s] ... ok {23} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.034935s] ... ok {23} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.828134s] ... ok {23} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state [0.358976s] ... ok {23} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift [0.069102s] ... ok {23} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.101847s] ... ok {23} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.034881s] ... ok {23} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.035897s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'a7d67253-5e20-45f0-89c5-f0b9c26cbcc8', u'links': [{u'href': u'http://localhost/v1/volume/targets/a7d67253-5e20-45f0-89c5-f0b9c26cbcc8', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/a7d67253-5e20-45f0-89c5-f0b9c26cbcc8', 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'e2755a09-97e5-4a62-a573-f849a26ceb78', u'links': [{u'href': u'http://localhost/v1/volume/targets/e2755a09-97e5-4a62-a573-f849a26ceb78', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/e2755a09-97e5-4a62-a573-f849a26ceb78', 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'd40ad412-6ee0-4161-9e72-5bb7682a7e5b', u'links': [{u'href': u'http://localhost/v1/volume/targets/d40ad412-6ee0-4161-9e72-5bb7682a7e5b', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/d40ad412-6ee0-4161-9e72-5bb7682a7e5b', 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'abaeb2e9-4ed5-4017-b767-0d85cc35e869', u'links': [{u'href': u'http://localhost/v1/volume/targets/abaeb2e9-4ed5-4017-b767-0d85cc35e869', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/abaeb2e9-4ed5-4017-b767-0d85cc35e869', 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'c85511ce-9e50-4e0b-bdac-2af1b9ef2853', u'links': [{u'href': u'http://localhost/v1/volume/targets/c85511ce-9e50-4e0b-bdac-2af1b9ef2853', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c85511ce-9e50-4e0b-bdac-2af1b9ef2853', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.188414s] ... ok {23} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.022499s] ... ok {23} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.016592s] ... ok {23} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.140662s] ... ok {23} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_empty_db [0.026862s] ... ok {23} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.048260s] ... ok {23} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.033501s] ... ok {23} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.037526s] ... ok {23} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.037381s] ... ok {23} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.048421s] ... ok {23} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.106546s] ... ok {23} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.101999s] ... ok {23} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device_fail [0.098508s] ... ok {23} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_validate [0.096217s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.036988s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.090332s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.038022s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7080bb5b-bae4-4aa6-8841-6f16f6261e1f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.078616s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.035279s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_phyisical_disks [0.191887s] ... 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-6af480ee-4cde-48b7-9324-50bb67b0df3f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:48.511626+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {14} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.108827s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.092248s] ... ok {14} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_on_missing_default_boot_option [0.037713s] ... ok {14} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test__calculate_migration_delta_unsupported_interface [0.014673s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.095368s] ... ok {14} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_classic_drivers_to_migrate [0.073624s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.035203s] ... ok {14} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.021546s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.087181s] ... ok {14} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.095455s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.029286s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.140588s] ... ok {14} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.032619s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.014505s] ... ok {14} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.013461s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.124195s] ... ok {14} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_exception [0.014170s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.087737s] ... ok {14} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.016375s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.117970s] ... ok {14} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.036413s] ... ok {14} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.015155s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_checksum_validation_error [0.093372s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.033632s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.073181s] ... ok {14} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.020242s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.112435s] ... ok {14} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.028736s] ... ok {14} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.112700s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.186533s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.072321s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.103160s] ... ok {14} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.018074s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.128471s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.102424s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.118314s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.043031s] ... ok {23} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_in_use_by_oneview [0.249265s] ... ok {23} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview [0.086355s] ... ok {14} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.118526s] ... ok {23} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_supported_boot_devices [0.085593s] ... ok {14} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.305608s] ... ok {23} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_properties [0.031055s] ... ok {14} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok [0.343365s] ... ok {23} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.031156s] ... ok {14} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.408135s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.129748s] ... ok {14} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.393575s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.087061s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.021074s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot [0.098557s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_pxe [0.207116s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.145146s] ... ok {14} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [1.351841s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_clears_maintenance_reason [0.114415s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_post_clean_step_hook [0.032739s] ... ok {23} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.028748s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_part [0.210185s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_missing_steps [0.112822s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.112015s] ... ok {14} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync_hw_type [0.155721s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.014087s] ... ok {14} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.014412s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.013963s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.040030s] ... ok {14} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.023436s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.033662s] ... ok {14} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.015311s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.029483s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.031826s] ... ok {14} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.178280s] ... ok {14} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.129717s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_missing_port [0.067634s] ... ok {14} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.130016s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.094675s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.096239s] ... ok {14} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {14} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.034443s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.091763s] ... ok {14} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.036440s] ... ok {14} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_one_driver [0.047283s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.086313s] ... ok {14} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.115180s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.096851s] ... ok {14} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.045574s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.043041s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.041270s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.112957s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.093910s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.038932s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.093445s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.058803s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.086073s] ... ok {14} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.070622s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state [0.089006s] ... ok {14} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.046174s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_ok [0.095994s] ... ok {14} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.016404s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.302056s] ... ok {14} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.131405s] ... ok {14} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.124184s] ... ok {23} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.031580s] ... ok {14} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.036282s] ... ok {14} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.149991s] ... ok {23} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_local_boot [0.119838s] ... ok {14} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login [0.109609s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.035982s] ... ok {14} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_password [0.035819s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.058053s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.040084s] ... ok {14} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_supported_boot_devices [0.109185s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.108765s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.022510s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed [0.154847s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.065609s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.103095s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.073594s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.020386s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.040036s] ... ok {23} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_good [0.024540s] ... ok {23} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.102418s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.108059s] ... ok {23} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver [0.004188s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.039642s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.118804s] ... ok {23} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.026429s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.108096s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.082438s] ... ok {23} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.044835s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.040706s] ... ok {23} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_bad_method [0.096791s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.045494s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.114551s] ... ok {23} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.015410s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.035222s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.107125s] ... ok {23} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.026118s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.043645s] ... ok {23} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.021116s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.126082s] ... ok {23} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.014405s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.209017s] ... ok {23} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.017473s] ... ok {23} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.024144s] ... ok {23} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.025261s] ... ok {14} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_supported_power_states [0.092319s] ... ok {23} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.055066s] ... ok {14} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_fail [0.107386s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.132009s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.229752s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_localboot [0.243700s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.117413s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.105942s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.118160s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.289683s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue [0.141395s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.379845s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.160217s] ... ok {14} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.022917s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.043959s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.024124s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.047058s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.228619s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.023230s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd_without_user [0.084324s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.099469s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.090783s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.077470s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.027034s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.031489s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.034418s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_ok [0.096236s] ... ok {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.085361s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_iscsi [0.109743s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue_swift [0.083922s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe [0.066038s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.034805s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.016345s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.014656s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.014750s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.019790s] ... 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-507e8a47-844c-4899-84d1-ed0ecfaae919 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.103653s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.014245s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.068628s] ... ok {14} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_error [0.151444s] ... ok {14} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_hardware_type [0.013894s] ... ok {14} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.069377s] ... ok {14} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_driver [0.001942s] ... ok {14} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.069546s] ... ok {14} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver [0.003248s] ... ok {14} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.081036s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.014265s] ... ok {14} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.013788s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.008229s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.007598s] ... ok {14} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.014582s] ... ok {14} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.011265s] ... ok GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'b9568d0f-9f94-47d6-a596-f3ff9c38aca3', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b9568d0f-9f94-47d6-a596-f3ff9c38aca3', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b9568d0f-9f94-47d6-a596-f3ff9c38aca3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.575764+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'77f4c7ae-825a-46a6-a3b2-913d9da799a0', u'links': [{u'href': u'http://localhost/v1/volume/connectors/77f4c7ae-825a-46a6-a3b2-913d9da799a0', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/77f4c7ae-825a-46a6-a3b2-913d9da799a0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.580284+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'5a336a12-0018-47cd-ae37-40e2f0241db9', u'links': [{u'href': u'http://localhost/v1/volume/connectors/5a336a12-0018-47cd-ae37-40e2f0241db9', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5a336a12-0018-47cd-ae37-40e2f0241db9', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-08-14T14:39:47.583877+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=5a336a12-0018-47cd-ae37-40e2f0241db9'} {29} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.118698s] ... ok PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4bf7abe2-ab25-4a1b-8d6d-77ab1bc02664 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fba265f1-b123-4d46-b56b-d2eb1bd83cb2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-797b4581-b90c-4c2b-9896-65d7e85277d0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e8219753-1e62-4a07-b339-93e7c8e23ff7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ba68bb72-581e-44dc-abe5-9e314de6ae77 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3f9aaf1e-0545-470d-82f7-ca938865c4c8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5670a9c5-2c90-4988-9681-07d371a1835f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/48fa0b5f-5852-4463-a50c-99e7b2cee1a8 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a84db625-f664-4f7f-9b6b-400f082da2d4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.452538s] ... 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-5a03a38c-ec1c-4f2a-9258-5e383436b12b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:39:48.976089+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.TestPost.test_node_uuid_to_node_id_mapping [0.124397s] ... ok {26} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.046203s] ... ok {26} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.063913s] ... ok {26} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_account_exception_radosgw [0.015018s] ... ok {26} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.029599s] ... ok {26} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw [0.019423s] ... ok {26} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.013813s] ... ok {26} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.016499s] ... ok {26} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.018505s] ... ok {26} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.124988s] ... ok {26} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.023188s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'0eadd5dc-2235-482a-9197-643df887b1eb', u'links': [{u'href': u'http://localhost/v1/volume/targets/0eadd5dc-2235-482a-9197-643df887b1eb', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0eadd5dc-2235-482a-9197-643df887b1eb', 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'8fdbbd0a-c953-4d46-a8b8-03b1a8edfa03', u'links': [{u'href': u'http://localhost/v1/volume/targets/8fdbbd0a-c953-4d46-a8b8-03b1a8edfa03', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/8fdbbd0a-c953-4d46-a8b8-03b1a8edfa03', 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'cbf6a326-759a-49c6-99bb-02e716e395b8', u'links': [{u'href': u'http://localhost/v1/volume/targets/cbf6a326-759a-49c6-99bb-02e716e395b8', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/cbf6a326-759a-49c6-99bb-02e716e395b8', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&limit=3&marker=cbf6a326-759a-49c6-99bb-02e716e395b8'} {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.117123s] ... ok {26} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.112552s] ... ok {26} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.026842s] ... ok {26} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.016052s] ... ok {26} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.116727s] ... ok {26} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.021705s] ... ok {26} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.014917s] ... ok {26} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.015902s] ... ok {26} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.015508s] ... ok {26} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_classic_drivers [0.091138s] ... ok {26} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.080193s] ... ok {26} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.458300s] ... ok {26} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.174257s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.369895s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version [1.330378s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.309021s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_ok_with_console [0.405261s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.059036s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo_iscsi [0.219299s] ... ok {26} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.131442s] ... ok {26} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.630181s] ... ok {26} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_node_locked [0.071131s] ... ok {26} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods_not_supported [0.071677s] ... ok {26} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.096704s] ... ok {26} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.092870s] ... ok {26} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.021394s] ... ok {26} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.022878s] ... ok {26} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.046667s] ... ok {26} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.019091s] ... ok {26} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.090543s] ... ok {26} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.127248s] ... ok {26} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.029315s] ... ok {26} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.039997s] ... ok {26} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.102936s] ... ok {26} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.038243s] ... ok {26} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.037276s] ... ok {26} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.037732s] ... ok {26} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.034049s] ... ok {26} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_ok [0.106169s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host [0.031948s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.039397s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.075821s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.036154s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.068053s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.067582s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration [0.165627s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.055339s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.046426s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.015187s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.033425s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_environment_error [0.112255s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.090646s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_timeout [0.096152s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.095023s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.038070s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.040042s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.490815s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.188426s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.034095s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.031803s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.073121s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.131163s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.120487s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.124345s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.057678s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.110808s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.107530s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_port_mac_server_hardware_invalid [0.042847s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic [0.102712s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_does_not_have_sp_applied [0.099193s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on [0.084598s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot [0.099932s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_soft_reboot [0.094164s] ... ok {26} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.105770s] ... ok {26} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.116539s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.093217s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_race [0.101738s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.137504s] ... ok {26} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.027481s] ... 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-c2805112-1cb3-487f-9ffb-72866a71d8c5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:39:47.693702+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {29} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.106697s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.124912s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.023486s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.015927s] ... ok {26} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled_disabled [0.031416s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.033220s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.088487s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.086009s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.037067s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.050774s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.073275s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_ok [0.093518s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi [0.087945s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.091356s] ... ok {26} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.070577s] ... ok {26} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.023227s] ... ok {26} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.049262s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel_ipxe [0.026887s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_rescue [0.040479s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.015830s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.020579s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.063359s] ... ok {26} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.010689s] ... ok {26} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_default_interfaces [0.068962s] ... ok {26} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver [0.004010s] ... ok {26} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.017752s] ... ok {26} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [3.273368s] ... ok {26} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.015573s] ... 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-bf8ab1ab-e98e-421e-8a67-bc3fdaf90b15 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.054014s] ... ok {5} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_neutron_dhcp [0.023926s] ... ok {5} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.020384s] ... ok {5} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server_fail [0.013486s] ... ok {5} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_no_refresh [0.051396s] ... ok {5} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.018770s] ... ok {5} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi [0.033548s] ... ok {5} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.028489s] ... ok {5} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_mkisofs_fails [0.035379s] ... ok {5} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.010746s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.099256s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.041671s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.044244s] ... ok {5} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.013786s] ... ok {5} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.022279s] ... ok {5} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.224152s] ... ok {5} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.447220s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.337306s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [0.319953s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [1.027569s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_swift_error [0.335207s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_automated_clean [0.311899s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.318479s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.377171s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.024464s] ... ok {5} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.137954s] ... ok {5} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.138458s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.038570s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.119350s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.143326s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.213559s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_iface_not_supported [0.100268s] ... ok {5} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.290466s] ... ok {5} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_validate_fail [0.089067s] ... ok {5} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.107660s] ... ok {5} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.017390s] ... ok {5} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.017892s] ... ok {5} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_shared_lock [0.015481s] ... ok {5} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.020282s] ... ok {5} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.018083s] ... ok {5} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.019316s] ... ok {5} ironic.tests.unit.db.test_api.MigrateToHardwareTypesTestCase.test_migrate [0.079132s] ... ok {5} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.035212s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.054173s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.081669s] ... ok {5} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.019487s] ... ok {5} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.115024s] ... ok {5} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.102917s] ... ok {5} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.035607s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.037689s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.040330s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_url [0.095684s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.125365s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.035868s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.089032s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.087461s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.090811s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.030342s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.145011s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.034611s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.096756s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.035582s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.164035s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.141231s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.137571s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_and_existing_cap [0.075685s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.074349s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.061775s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.159703s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.097082s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.106349s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.124661s] ... ok {5} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_when_in_use_by_oneview [0.242425s] ... ok {5} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down [0.112323s] ... ok {5} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test__is_onetime_boot_false [0.088603s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.080315s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.073494s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.029493s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.032897s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.090958s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.120036s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.242829s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.036302s] ... ok {5} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.022412s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_get_clean_steps [0.094888s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.019842s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.016742s] ... ok {5} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.032514s] ... ok {5} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.026898s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console [0.096324s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.089379s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console [0.092157s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.036124s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.035876s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.045949s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.042633s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_fail [0.094636s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_fail [0.094437s] ... ok {5} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.033097s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.170718s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.158894s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_deploy_ramdisk [0.032301s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_localboot [0.058694s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_additional_volume_type [0.116056s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.039634s] ... ok {5} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.009027s] ... ok {5} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver [0.004905s] ... ok {5} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.065846s] ... ok {5} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.019576s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.014162s] ... ok {5} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.016254s] ... 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-3506bb81-b2a2-49f7-b5a4-bdac539b1395 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.086980s] ... ok {5} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.014163s] ... ok {5} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.009177s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.010181s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.010986s] ... 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-8e562354-cd85-4dc2-b6e9-2cc28b2a2e6b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:47.325532+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.api.controllers.v1.test_node.TestPatch.test_update_ok [0.185760s] ... 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-42314f95-0367-434c-bd8b-27a5c6e8a1d6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.071731s] ... 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-73e0b599-d259-46af-bc59-f3952c669657 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {29} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.118232s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-65aa8611-286b-4795-9682-fb53b4b0346f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {29} ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header [0.082110s] ... ok {29} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.026648s] ... ok {29} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.127253s] ... ok {29} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.033450s] ... ok {29} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_classic_driver_unset_interfaces [0.126682s] ... ok {29} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.013909s] ... ok {29} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_connerror [0.016173s] ... ok {29} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success [0.026025s] ... ok {29} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.023811s] ... ok {29} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_for_hrefs [0.026911s] ... ok {29} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.032154s] ... ok {29} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.018272s] ... ok {29} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.095084s] ... ok {29} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.134378s] ... ok {29} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.082444s] ... ok {29} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.041788s] ... ok {29} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.034657s] ... ok {29} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.033367s] ... ok {29} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.034039s] ... ok {29} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.013412s] ... ok {29} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.047578s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.370112s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated [0.299734s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_2 [0.364472s] ... ok {29} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.025269s] ... ok {29} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeout [0.027776s] ... ok {29} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [1.089884s] ... ok {29} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.111232s] ... ok {29} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.157034s] ... ok {29} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.101575s] ... ok {29} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.022259s] ... ok {29} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.021678s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.019722s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.038095s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.040024s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.038991s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.040833s] ... ok {29} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.107498s] ... ok {29} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.024857s] ... ok {29} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.018815s] ... ok {29} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.056350s] ... ok {29} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.034267s] ... ok {29} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.041081s] ... ok {29} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.037435s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.071892s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.029018s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.039325s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.040696s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.035306s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.094850s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed [0.117843s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.094577s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.016513s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist [0.260839s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.032036s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.089982s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.088224s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.036739s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.073248s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.074340s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.142690s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.095888s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.069810s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.070996s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.116744s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.293971s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.125061s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.114426s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.106923s] ... ok {29} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_inspect_hardware [0.109670s] ... ok {29} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate [0.107669s] ... ok {29} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.098477s] ... ok {29} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.144460s] ... ok {29} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.047610s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step [0.091360s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.019387s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.030275s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.036069s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.035525s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.429742s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.014528s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.040132s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.017251s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.041007s] ... ok {29} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.019373s] ... ok {29} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.029040s] ... ok {29} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_disabled [0.022540s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.090821s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.046842s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.036514s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.035360s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.041876s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_force_set_boot_device_ok [0.130180s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_ok [0.097317s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.086843s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [0.094067s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.032357s] ... ok {29} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_rescue_kernel [0.031893s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.025880s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.031914s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.091033s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.096455s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.019535s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [3.212521s] ... ok {29} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_fail_logout [0.126034s] ... ok {29} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_password [0.034824s] ... ok {29} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_check_node_managed_by_xclarity [0.018804s] ... ok {29} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.055742s] ... ok {29} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.007384s] ... ok {29} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.007199s] ... ok {29} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.007165s] ... ok {29} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_power_interface [0.013026s] ... ok {29} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.049808s] ... ok {29} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.011128s] ... ok {29} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.011071s] ... ok {29} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.007148s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version [0.008797s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.007054s] ... ok {29} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.011856s] ... ok {29} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.012413s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-16ee8876-3a10-4920-a07d-8e335b843942 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-08-14T14:39:47.563749+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:47.563749+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-08-14T14:39:47.563749+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'}]} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.167841s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'resource_class': 'class2', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-37492035-5e16-4175-a4b6-1b5943a4098c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": "class2", "created_at": "2018-08-14T14:39:47.711244+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'class2', u'created_at': u'2018-08-14T14:39:47.711244+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'}]} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.532983s] ... ok "max-count" must be a positive value. POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-87e355b6-73b8-48fa-9543-927600c042a9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [1.676185s] ... 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-ffd005a2-21e0-4c91-b3fa-3e3d3fb7918c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.078799s] ... ok POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-6a12d990-2cfd-4fec-b910-f4d8e8a6e33a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 null {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.089283s] ... 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-4a6c6d8d-ed86-46e7-8ea8-1e16af42d71e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.104780s] ... 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-93eee6ef-501f-4af3-b14c-af497e590b4b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.106240s] ... 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-28538747-c14a-4705-84ff-09a19a2903c6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.105935s] ... 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-06f26f62-6646-4125-90d7-47c6cd5ba2a9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [3.087401s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-e8a42c79-5996-49a1-aa36-5c72cb531b1a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {8} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.085380s] ... ok 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-5836d525-4e1a-47fd-a3fe-0210ab303a88 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.061025s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f90d1177-37a5-40d2-8acc-c4c1fcde4d1c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:53.703129+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2018-08-14T14:39:53.703129+00:00'} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.183017s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/2b6a2bcf-5740-4144-aa44-dfb2e2b963cb Openstack-Request-Id: req-370459ea-532f-41d2-a266-94ce16d128e6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "2b6a2bcf-5740-4144-aa44-dfb2e2b963cb", "links": [{"href": "http://localhost/v1/ports/2b6a2bcf-5740-4144-aa44-dfb2e2b963cb", "rel": "self"}, {"href": "http://localhost/ports/2b6a2bcf-5740-4144-aa44-dfb2e2b963cb", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:58.317257+00:00"} GET: /v1/ports/2b6a2bcf-5740-4144-aa44-dfb2e2b963cb {} 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'2b6a2bcf-5740-4144-aa44-dfb2e2b963cb', u'links': [{u'href': u'http://localhost/v1/ports/2b6a2bcf-5740-4144-aa44-dfb2e2b963cb', u'rel': u'self'}, {u'href': u'http://localhost/ports/2b6a2bcf-5740-4144-aa44-dfb2e2b963cb', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2018-08-14T14:39:58.317257+00:00'} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [4.622250s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e35a728-1ea7-4ee2-85da-664c592a1bc2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.086170s] ... 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': '391d6a54-59b1-4a75-95ae-c37cdffb201a'}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8db7ce91-f757-4717-8e01-0e6acd895153 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "391d6a54-59b1-4a75-95ae-c37cdffb201a"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:39:58.573846+00:00"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [1.786954s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_internal_info [0.011311s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.012064s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.011449s] ... 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-8d58d9f4-e95b-492a-8675-48d0c7eee58b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.053038s] ... 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-6654973d-a637-44f9-b499-dcbc605a87e7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2018-08-14T14:40:00.386061+00:00", "updated_at": "2018-08-14T14:40:00.391074+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.089791s] ... 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-20222590-acf6-40d6-9519-06c8337eb669 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} 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'}} {8} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [2.350796s] ... 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-2dc295d5-fb9b-4609-809e-183968424049 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {8} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.048621s] ... 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', 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'******'}} {8} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.050617s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8a7bb416-993e-454a-9a86-57e577c4d7f0 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {8} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [2.287777s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ec49d563-6a6c-4cfb-9af0-e04fea630fb1 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {8} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.023623s] ... ok {8} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_unset_interfaces [0.073714s] ... ok {8} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_refresh [0.035702s] ... ok {8} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.017637s] ... ok {8} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.010524s] ... ok {8} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.057938s] ... ok {8} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.055615s] ... ok {8} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.053963s] ... ok {8} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.059730s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.018840s] ... ok {8} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.027710s] ... ok {8} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.010537s] ... ok {8} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.070338s] ... ok {8} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.048591s] ... ok {8} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.136709s] ... ok {8} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.066437s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_unset_clean_step [0.055708s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_prepare_error [0.195407s] ... ok {8} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.015014s] ... ok {8} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.015755s] ... ok {8} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces [0.705968s] ... ok {8} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.068884s] ... ok {8} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.133215s] ... ok {8} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.077217s] ... ok {8} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.069148s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_disabled [0.111269s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.164891s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.052093s] ... ok {8} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.087888s] ... ok {8} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.037050s] ... ok {8} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.007477s] ... ok {8} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_ironic_exception [0.008569s] ... ok {8} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.045261s] ... ok {8} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.092197s] ... ok {8} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.083356s] ... ok {8} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.059264s] ... ok {8} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.053024s] ... ok {8} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.056484s] ... ok {8} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.069005s] ... ok {8} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {8} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {8} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.015828s] ... ok {8} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.019007s] ... ok {8} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.029173s] ... ok {8} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.036229s] ... ok {8} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.085728s] ... ok {8} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.082927s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_continue_deploy [0.097625s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [1.032763s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_noglance [0.062702s] ... ok {8} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device [0.051872s] ... ok {8} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state_fail [0.049755s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host_and_drac_address [0.016144s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.015024s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.032046s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.028553s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.019045s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.093990s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.091360s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_on_webserver [0.030349s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.051811s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create_use_webserver_true_ramdisk_webserver [0.068200s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_InvalidParam [0.050967s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.073092s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.046850s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.058290s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown [0.075427s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_no_firmware_url [0.050671s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.047622s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.064095s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.082118s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.037411s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.044485s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.051554s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.053971s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.051499s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.021756s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.050044s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.052577s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_malformed_capabilities [0.017339s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_validate [0.056164s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_from_next_boot_device [0.048455s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_unknown_device [0.046384s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.039991s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.044413s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.064713s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean [0.073119s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.007974s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_version_mismatch [0.046732s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.010035s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.015241s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.014833s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.009715s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.848105s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.010930s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd [0.048389s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.046870s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.050359s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.034822s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.051756s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.027480s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.032525s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.021448s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_ok [0.060438s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.051829s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.013260s] ... ok {8} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_logout [0.037587s] ... ok {8} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_fail [0.133412s] ... ok {8} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_mandatory_interfaces [0.011371s] ... ok {8} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_get_properties [0.013828s] ... ok {8} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_properties [0.014593s] ... ok {8} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver [0.002308s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.008484s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.007953s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.007087s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.008584s] ... ok {8} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.012456s] ... ok {8} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.010038s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '41960cf0-b4a0-4013-8e4f-0b23f6bb54a5'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5 Openstack-Request-Id: req-2be695e6-adb4-4e16-9920-f99a661a526f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5", "rel": "self"}, {"href": "http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/states", "rel": "self"}, {"href": "http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "41960cf0-b4a0-4013-8e4f-0b23f6bb54a5", "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/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/volume", "rel": "self"}, {"href": "http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/ports", "rel": "self"}, {"href": "http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/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/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5', 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/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'41960cf0-b4a0-4013-8e4f-0b23f6bb54a5', 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/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/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/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/41960cf0-b4a0-4013-8e4f-0b23f6bb54a5/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '984aab88-4cc3-40c3-a589-fa7fa0adb56a'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a Openstack-Request-Id: req-f4295b30-2ff0-43ba-a05d-6907360a49d3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a", "rel": "self"}, {"href": "http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/states", "rel": "self"}, {"href": "http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "984aab88-4cc3-40c3-a589-fa7fa0adb56a", "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/984aab88-4cc3-40c3-a589-fa7fa0adb56a/volume", "rel": "self"}, {"href": "http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/ports", "rel": "self"}, {"href": "http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/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/984aab88-4cc3-40c3-a589-fa7fa0adb56a {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a', 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/984aab88-4cc3-40c3-a589-fa7fa0adb56a/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'984aab88-4cc3-40c3-a589-fa7fa0adb56a', 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/984aab88-4cc3-40c3-a589-fa7fa0adb56a/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/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/984aab88-4cc3-40c3-a589-fa7fa0adb56a/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/984aab88-4cc3-40c3-a589-fa7fa0adb56a/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '72e742e2-2e45-4260-9f43-53e08cda6834'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/72e742e2-2e45-4260-9f43-53e08cda6834 Openstack-Request-Id: req-e70c4530-63be-4b0d-a71a-21d5ae7e34cb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/72e742e2-2e45-4260-9f43-53e08cda6834", "rel": "self"}, {"href": "http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/states", "rel": "self"}, {"href": "http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "72e742e2-2e45-4260-9f43-53e08cda6834", "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/72e742e2-2e45-4260-9f43-53e08cda6834/volume", "rel": "self"}, {"href": "http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/ports", "rel": "self"}, {"href": "http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/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/72e742e2-2e45-4260-9f43-53e08cda6834 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/72e742e2-2e45-4260-9f43-53e08cda6834', u'rel': u'self'}, {u'href': u'http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834', 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/72e742e2-2e45-4260-9f43-53e08cda6834/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'72e742e2-2e45-4260-9f43-53e08cda6834', 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/72e742e2-2e45-4260-9f43-53e08cda6834/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/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/72e742e2-2e45-4260-9f43-53e08cda6834/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/72e742e2-2e45-4260-9f43-53e08cda6834/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '7b2f8da6-8657-4ca1-bc99-f2e31139f42c'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c Openstack-Request-Id: req-b4bd8272-364b-4ed9-9bde-a4097a599dda X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c", "rel": "self"}, {"href": "http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/states", "rel": "self"}, {"href": "http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "7b2f8da6-8657-4ca1-bc99-f2e31139f42c", "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/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/volume", "rel": "self"}, {"href": "http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/ports", "rel": "self"}, {"href": "http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/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/7b2f8da6-8657-4ca1-bc99-f2e31139f42c {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c', 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/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'7b2f8da6-8657-4ca1-bc99-f2e31139f42c', 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/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/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/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7b2f8da6-8657-4ca1-bc99-f2e31139f42c/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035 Openstack-Request-Id: req-ec539162-c16b-4d3c-b35c-885545a68181 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035", "rel": "self"}, {"href": "http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/states", "rel": "self"}, {"href": "http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035", "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/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/volume", "rel": "self"}, {"href": "http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/ports", "rel": "self"}, {"href": "http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/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/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035', 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/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035', 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/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/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/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6a932ffc-09e6-4fe5-8a98-ae5ff4a1a035/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'power_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '7469be6b-76e4-46cc-9b30-97df29dea280'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/7469be6b-76e4-46cc-9b30-97df29dea280 Openstack-Request-Id: req-26af8d0b-797b-4425-8b5f-a2636c71f159 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7469be6b-76e4-46cc-9b30-97df29dea280", "rel": "self"}, {"href": "http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/states", "rel": "self"}, {"href": "http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "7469be6b-76e4-46cc-9b30-97df29dea280", "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/7469be6b-76e4-46cc-9b30-97df29dea280/volume", "rel": "self"}, {"href": "http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/ports", "rel": "self"}, {"href": "http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/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/7469be6b-76e4-46cc-9b30-97df29dea280 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/7469be6b-76e4-46cc-9b30-97df29dea280', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280', 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/7469be6b-76e4-46cc-9b30-97df29dea280/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'7469be6b-76e4-46cc-9b30-97df29dea280', 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/7469be6b-76e4-46cc-9b30-97df29dea280/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/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/7469be6b-76e4-46cc-9b30-97df29dea280/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7469be6b-76e4-46cc-9b30-97df29dea280/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': 'dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf Openstack-Request-Id: req-d1d719dc-073a-457f-9116-67dc8db4bb40 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf", "rel": "self"}, {"href": "http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/states", "rel": "self"}, {"href": "http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf", "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/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/volume", "rel": "self"}, {"href": "http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/ports", "rel": "self"}, {"href": "http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/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/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf', 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/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf', 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/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/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/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcc1cf3e-1625-46c1-b0e6-dd0960ca13cf/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake', 'uuid': '65a7412d-e5a6-43a6-b3ed-89812def4992'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992 Openstack-Request-Id: req-4c1dd0b1-603d-4046-886b-6a18e78ae8e9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992", "rel": "self"}, {"href": "http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/states", "rel": "self"}, {"href": "http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "65a7412d-e5a6-43a6-b3ed-89812def4992", "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/65a7412d-e5a6-43a6-b3ed-89812def4992/volume", "rel": "self"}, {"href": "http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/ports", "rel": "self"}, {"href": "http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/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/65a7412d-e5a6-43a6-b3ed-89812def4992 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992', u'rel': u'self'}, {u'href': u'http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992', 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/65a7412d-e5a6-43a6-b3ed-89812def4992/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'65a7412d-e5a6-43a6-b3ed-89812def4992', 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/65a7412d-e5a6-43a6-b3ed-89812def4992/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/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/65a7412d-e5a6-43a6-b3ed-89812def4992/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/65a7412d-e5a6-43a6-b3ed-89812def4992/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'uuid': '6122afb7-9d8c-4e4e-8541-f4660a7b5ad9', '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/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9 Openstack-Request-Id: req-164b7222-23f3-457f-bc67-6bdae2ef41bb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9", "rel": "self"}, {"href": "http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/states", "rel": "self"}, {"href": "http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "6122afb7-9d8c-4e4e-8541-f4660a7b5ad9", "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/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/volume", "rel": "self"}, {"href": "http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/ports", "rel": "self"}, {"href": "http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/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/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9', 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/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'6122afb7-9d8c-4e4e-8541-f4660a7b5ad9', 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/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/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/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6122afb7-9d8c-4e4e-8541-f4660a7b5ad9/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'rescue_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': 'bcfb7bed-8118-428c-8342-d7574b2a7be9'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9 Openstack-Request-Id: req-dafdd00d-5ee4-48b0-909e-4039a115910d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9", "rel": "self"}, {"href": "http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/states", "rel": "self"}, {"href": "http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "bcfb7bed-8118-428c-8342-d7574b2a7be9", "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/bcfb7bed-8118-428c-8342-d7574b2a7be9/volume", "rel": "self"}, {"href": "http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/ports", "rel": "self"}, {"href": "http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/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/bcfb7bed-8118-428c-8342-d7574b2a7be9 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9', 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/bcfb7bed-8118-428c-8342-d7574b2a7be9/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'bcfb7bed-8118-428c-8342-d7574b2a7be9', 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/bcfb7bed-8118-428c-8342-d7574b2a7be9/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/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/bcfb7bed-8118-428c-8342-d7574b2a7be9/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bcfb7bed-8118-428c-8342-d7574b2a7be9/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'noop', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '33987bdd-3f7f-470e-8b2b-5be5956af9f8'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8 Openstack-Request-Id: req-29a2f1ed-1ead-414c-80b8-f57628f9b7a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8", "rel": "self"}, {"href": "http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/states", "rel": "self"}, {"href": "http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "33987bdd-3f7f-470e-8b2b-5be5956af9f8", "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/33987bdd-3f7f-470e-8b2b-5be5956af9f8/volume", "rel": "self"}, {"href": "http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/ports", "rel": "self"}, {"href": "http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/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/33987bdd-3f7f-470e-8b2b-5be5956af9f8 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8', 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/33987bdd-3f7f-470e-8b2b-5be5956af9f8/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'33987bdd-3f7f-470e-8b2b-5be5956af9f8', 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/33987bdd-3f7f-470e-8b2b-5be5956af9f8/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/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/33987bdd-3f7f-470e-8b2b-5be5956af9f8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/33987bdd-3f7f-470e-8b2b-5be5956af9f8/ports', u'rel': u'bookmark'}]} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [28.896548s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'traits': ['CUSTOM_4'], 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-60de9340-654a-43cc-809a-2802b92c9719 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot specify node traits on node creation. Traits must be set via the node traits API.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.034493s] ... ok PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-6f67e2ca-dda0-458e-8e90-cbd10b97e696 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.037117s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "405 Method Not Allowed\n\nThe method PUT is not allowed for this resource. \n\n "} {22} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.038030s] ... 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'2018-08-14T14:40:16.354740+00:00'} {22} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.057002s] ... 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-44f0cf81-2f36-4a4e-9d5d-64e6c16c5022 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.044676s] ... 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-4a0b7d8b-2e9d-4806-9110-3159284d5b2d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2018-08-14T14:40:16.451970+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.072434s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c969c3f7-a0bc-4ff5-994b-66b18cdc319d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.747858s] ... 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-fc5c45ab-c00a-41de-8e3c-cfc78998b183 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"local_link_connection": {"port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-08-14T14:40:17.305270+00:00"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.068240s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93ee5178-8a43-48de-a7fe-3c1f82867d0d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.030973s] ... 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-89704683-3242-4380-b114-2c85e6de2235 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.032673s] ... 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-fb4f18ef-37cd-411c-80ca-848bb1064c0d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2018-08-14T14:40:17.401347+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"} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.566246s] ... 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-70d39640-6d1c-401f-a2fc-b20466c95e5c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/internal_info' is an internal attribute and can not be updated\"}"} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.029861s] ... 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-f8ac2b70-62fd-45c8-9c8b-9c23496cbb38 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\"}"} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.033343s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.008032s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.007255s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.008587s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.007288s] ... 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-a7dab553-8376-43c3-a232-666083caf892 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {22} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.369310s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {22} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.021395s] ... 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-98bba6f6-a673-4c2f-92af-4b95454524ef X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2018-08-14T14:40:18.470753+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': '61abc096-4101-4900-ab97-9ebf0f688a30', 'connector_id': 'test-connector-id-456'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-cd09397b-acf3-4b22-9411-7af386e16b33 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.055162s] ... 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-6c1ebdde-e7f6-4dce-9c1c-e40149e66518 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {22} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.038593s] ... ok GET: /v1/volume/targets?sort_key=uuid {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'2160c6b6-2829-4a4d-8f4b-d47bbf2b87d0', u'links': [{u'href': u'http://localhost/v1/volume/targets/2160c6b6-2829-4a4d-8f4b-d47bbf2b87d0', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/2160c6b6-2829-4a4d-8f4b-d47bbf2b87d0', 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'90733b19-7adc-41e0-b94e-76de3e6120ee', u'links': [{u'href': u'http://localhost/v1/volume/targets/90733b19-7adc-41e0-b94e-76de3e6120ee', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/90733b19-7adc-41e0-b94e-76de3e6120ee', 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'b7433bde-414c-48bb-9436-0f4ac378ccf9', u'links': [{u'href': u'http://localhost/v1/volume/targets/b7433bde-414c-48bb-9436-0f4ac378ccf9', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/b7433bde-414c-48bb-9436-0f4ac378ccf9', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {22} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.055070s] ... 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-e127223d-6260-4a30-aaf9-093a1e58ebaf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2018-08-14T14:40:18.605138+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {22} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.053199s] ... ok {22} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.019086s] ... ok {22} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.041162s] ... ok {22} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.010830s] ... ok {22} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.011515s] ... ok {22} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults [0.013693s] ... ok {22} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.006950s] ... ok {22} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.014663s] ... ok {22} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.006895s] ... ok {22} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.010138s] ... ok {22} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.013442s] ... ok {22} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.016375s] ... ok {22} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.008915s] ... ok {22} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.009235s] ... ok {22} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.004727s] ... ok {22} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.052851s] ... ok {22} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [0.047006s] ... ok {22} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.047150s] ... ok {22} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.018764s] ... ok {22} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.011210s] ... ok {22} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.012708s] ... ok {22} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.047094s] ... ok {22} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.008164s] ... ok {22} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.006741s] ... ok {22} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.006713s] ... ok {22} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.129791s] ... ok {22} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_dynamic_drivers [0.081431s] ... ok {22} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.143608s] ... ok {22} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.169399s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states [1.740726s] ... ok {22} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.189333s] ... ok {22} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.016857s] ... ok {22} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.015034s] ... ok {22} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.109566s] ... ok {22} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.544535s] ... ok {22} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_multiple_workers [0.103900s] ... ok {22} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.043155s] ... ok {22} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.115533s] ... ok {22} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.010054s] ... ok {22} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.011718s] ... ok {22} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.007134s] ... ok {22} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.008168s] ... ok {22} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.016095s] ... ok {22} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.034117s] ... ok {22} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.029091s] ... ok {22} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.016064s] ... ok {22} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.025607s] ... ok {22} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.046946s] ... ok {22} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.053023s] ... ok {22} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.014967s] ... ok {22} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.063892s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.016576s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.023571s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.063421s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.043137s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.017992s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.087633s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.068282s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info [0.015214s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.043553s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.053016s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.040291s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.052469s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.013767s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.040611s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.053767s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.052105s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.048650s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.041780s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_is_force_persistent_boot_device_enabled [0.045742s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.035348s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.032928s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.051838s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.061523s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.071533s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.044848s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.046462s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_binding_host_id_raise [0.043868s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.058409s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.041997s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info [0.013956s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device [0.042831s] ... ok {22} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.047388s] ... ok {22} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.013249s] ... ok {22} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.056879s] ... ok {22} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.071892s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.082484s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.061794s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps [0.054148s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.017195s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.015340s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overriden_default_value [0.014567s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.007444s] ... ok {22} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.009042s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail [0.039452s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail_nodir [0.039146s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate [0.029614s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.040785s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.044187s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.017837s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.018718s] ... ok {22} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.008448s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.011130s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.010184s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.010804s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.010675s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.013044s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.012340s] ... ok {22} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm [0.102685s] ... ok {22} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_invalid_state [0.097829s] ... ok {22} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.015083s] ... ok {22} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_override_with_cimc_interfaces [0.042327s] ... ok {22} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_socat_driver [0.001464s] ... ok {22} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_direct [0.041518s] ... ok {22} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.040180s] ... ok {22} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_valid_methods [0.042057s] ... ok {22} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.008482s] ... ok {22} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.014185s] ... ok {22} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.006097s] ... ok {22} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.007776s] ... ok {22} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.010784s] ... ok {22} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.012416s] ... ok ====== Totals ====== Ran: 4887 tests in 53.0000 sec. - Passed: 4875 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 495.9014 sec. ============== Worker Balance ============== - Worker 0 (153 tests) => 0:00:12.288613 - Worker 1 (153 tests) => 0:00:15.558288 - Worker 2 (153 tests) => 0:00:14.523566 - Worker 3 (153 tests) => 0:00:14.034243 - Worker 4 (153 tests) => 0:00:15.236892 - Worker 5 (153 tests) => 0:00:15.669826 - Worker 6 (153 tests) => 0:00:16.043173 - Worker 7 (153 tests) => 0:00:14.476308 - Worker 8 (153 tests) => 0:00:32.355132 - Worker 9 (153 tests) => 0:00:14.776964 - Worker 10 (153 tests) => 0:00:13.490438 - Worker 11 (153 tests) => 0:00:13.582459 - Worker 12 (153 tests) => 0:00:12.545361 - Worker 13 (153 tests) => 0:00:15.376397 - Worker 14 (153 tests) => 0:00:18.207856 - Worker 15 (153 tests) => 0:00:13.309052 - Worker 16 (153 tests) => 0:00:14.878627 - Worker 17 (153 tests) => 0:00:16.741260 - Worker 18 (153 tests) => 0:00:14.356440 - Worker 19 (153 tests) => 0:00:14.086961 - Worker 20 (153 tests) => 0:00:14.867299 - Worker 21 (153 tests) => 0:00:14.630626 - Worker 22 (153 tests) => 0:00:41.046197 - Worker 23 (152 tests) => 0:00:12.985342 - Worker 24 (152 tests) => 0:00:13.318556 - Worker 25 (152 tests) => 0:00:12.361633 - Worker 26 (152 tests) => 0:00:17.438420 - Worker 27 (152 tests) => 0:00:14.620183 - Worker 28 (152 tests) => 0:00:11.942800 - Worker 29 (152 tests) => 0:00:17.683361 - Worker 30 (152 tests) => 0:00:15.366242 - Worker 31 (152 tests) => 0:00:13.627970 Slowest Tests: Test id Runtime (s) --------------------------------------------------------------------------------------------------------------- ----------- ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces 28.897 ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid 4.622 ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor 3.273 ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default 3.213 ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name 3.087 ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target 2.351 ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault 2.288 ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup 1.787 ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states 1.741 ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version 1.676 + exit 0 Processing files: openstack-ironic-common-10.1.4-1.el7.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/lib/python2.7/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.nEqb7h + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.4 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share/doc/openstack-ironic-common-10.1.4 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share/doc/openstack-ironic-common-10.1.4 + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share/doc/openstack-ironic-common-10.1.4 + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.XV7EYF + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.4 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share/licenses/openstack-ironic-common-10.1.4 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share/licenses/openstack-ironic-common-10.1.4 + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch/usr/share/licenses/openstack-ironic-common-10.1.4 + exit 0 Provides: config(openstack-ironic-common) = 1:10.1.4-1.el7 openstack-ironic-common = 1:10.1.4-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-10.1.4-1.el7.noarch Provides: openstack-ironic-api = 1:10.1.4-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-10.1.4-1.el7.noarch Provides: openstack-ironic-conductor = 1:10.1.4-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: python-ironic-tests-10.1.4-1.el7.noarch Provides: python-ironic-tests = 1:10.1.4-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 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch Wrote: /builddir/build/RPMS/openstack-ironic-common-10.1.4-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-api-10.1.4-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-10.1.4-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/python-ironic-tests-10.1.4-1.el7.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.5IepyI + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.4 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-10.1.4-1.el7.noarch + exit 0 Child return code was: 0