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-41553-82448/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.0-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-41553-82448/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.rH9hNO + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-10.1.0 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-10.1.0.tar.gz + /usr/bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-10.1.0 + /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.w6Mkl1 + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.0 + /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/test_periodic_task.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_power.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_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_raid.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_client.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_snmp.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_noop.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_iscsi_deploy.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_agent.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional creating build/lib/ironic/common creating build/lib/ironic/common/glance_service creating build/lib/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/__init__.py -> build/lib/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/image_service.py -> build/lib/ironic/common/glance_service/v2 creating build/lib/ironic/common/glance_service/v1 copying ironic/common/glance_service/v1/__init__.py -> 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/tests/unit/drivers/test_base.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/__init__.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mocks.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_pxe.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_ilo.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_irmc.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_ipmi.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_redfish.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_oneview.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_xclarity.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_generic.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_drac.py -> build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/db creating build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/test_volume_targets.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_nodes.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_ports.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/utils.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_api.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_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_node_traits.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_chassis.py -> build/lib/ironic/tests/unit/db creating 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_power.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 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_common.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_management.py -> build/lib/ironic/tests/unit/drivers/modules/oneview copying ironic/__init__.py -> build/lib/ironic copying ironic/version.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/__init__.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible creating build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.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_policy.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_rpc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_utils.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_exception.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_raid.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_images.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common copying ironic/drivers/oneview.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/fake.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers copying ironic/drivers/pxe.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/cisco_ucs.py -> build/lib/ironic/drivers copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers copying ironic/drivers/agent.py -> build/lib/ironic/drivers creating build/lib/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_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/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/cimc creating build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/management.py -> build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/__init__.py -> build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/helper.py -> build/lib/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/power.py -> build/lib/ironic/drivers/modules/ucs creating build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_conductor.py -> build/lib/ironic/tests/unit/cmd creating build/lib/ironic/objects copying ironic/objects/conductor.py -> build/lib/ironic/objects copying ironic/objects/volume_target.py -> build/lib/ironic/objects copying ironic/objects/__init__.py -> build/lib/ironic/objects copying ironic/objects/port.py -> build/lib/ironic/objects copying ironic/objects/portgroup.py -> build/lib/ironic/objects copying ironic/objects/fields.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/volume_connector.py -> build/lib/ironic/objects copying ironic/objects/notification.py -> build/lib/ironic/objects copying ironic/objects/base.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/objects/chassis.py -> build/lib/ironic/objects creating build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_expose.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_portgroup.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_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_port.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_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_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_root.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_types.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/common/neutron.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/wsgi_service.py -> build/lib/ironic/common copying ironic/common/keystone.py -> build/lib/ironic/common copying ironic/common/pxe_utils.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common copying ironic/common/raid.py -> build/lib/ironic/common copying ironic/common/network.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/release_mappings.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/exception.py -> build/lib/ironic/common copying ironic/common/profiler.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/fsm.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common creating 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__mgr_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor 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/__init__.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/common.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/power.py -> build/lib/ironic/drivers/modules/xclarity creating build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api copying ironic/api/__init__.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/app.py -> build/lib/ironic/api copying ironic/api/wsgi.py -> build/lib/ironic/api creating build/lib/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/auth_token.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware creating build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.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_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc 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/__init__.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/common.py -> build/lib/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/power.py -> build/lib/ironic/drivers/modules/cimc copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/base_image_service.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/service.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/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_helper.py -> build/lib/ironic/tests/unit/drivers/modules/ucs creating build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.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/boot.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/common.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.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/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/__init__.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/port.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/portgroup.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/state.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/volume.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_connector.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/types.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/notification_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/chassis.py -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_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_boot.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_management.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/__init__.py -> build/lib/ironic/db copying ironic/db/migration.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspector.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/deploy_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.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/iscsi_deploy.py -> build/lib/ironic/drivers/modules creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf creating build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage creating build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy copying ironic/tests/unit/api/test_audit.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/utils.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_acl.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/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_root.py -> build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp creating build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/management.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/raid.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/common.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/inspect.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/job.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/api/controllers/__init__.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/base.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/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 copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit creating build/lib/ironic/conf copying ironic/conf/neutron.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/keystone.py -> build/lib/ironic/conf copying ironic/conf/oneview.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/audit.py -> build/lib/ironic/conf copying ironic/conf/iscsi.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/pxe.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/deploy.py -> build/lib/ironic/conf copying ironic/conf/service_catalog.py -> build/lib/ironic/conf copying ironic/conf/metrics_statsd.py -> build/lib/ironic/conf copying ironic/conf/metrics.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/ilo.py -> build/lib/ironic/conf copying ironic/conf/opts.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/snmp.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/xclarity.py -> build/lib/ironic/conf copying ironic/conf/irmc.py -> build/lib/ironic/conf copying ironic/conf/swift.py -> build/lib/ironic/conf copying ironic/conf/redfish.py -> build/lib/ironic/conf copying ironic/conf/ipmi.py -> build/lib/ironic/conf copying ironic/conf/cisco.py -> build/lib/ironic/conf copying ironic/conf/glance.py -> build/lib/ironic/conf copying ironic/conf/drac.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf creating build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/management.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/deploy.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 copying ironic/drivers/modules/oneview/inspect.py -> build/lib/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/power.py -> build/lib/ironic/drivers/modules/oneview creating build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.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/boot.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/console.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/common.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/inspect.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo creating build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor copying ironic/conductor/manager.py -> build/lib/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor copying ironic/conductor/utils.py -> build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor 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/objects copying ironic/tests/unit/objects/test_notification.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_volume_connector.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/utils.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_conductor.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_port.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_chassis.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_trait.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_fields.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_objects.py -> build/lib/ironic/tests/unit/objects creating build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_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/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity creating build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish creating build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/flat.py -> build/lib/ironic/drivers/modules/network copying ironic/tests/__init__.py -> build/lib/ironic/tests copying ironic/tests/base.py -> build/lib/ironic/tests creating build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp creating build/lib/ironic/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_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_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 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 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 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/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/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/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/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/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions + /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.5VDrBj + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch ++ dirname /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch + cd ironic-10.1.0 + /usr/bin/python2 setup.py install -O1 --skip-build --root=/builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7 creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/conductor creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/cimc copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/oneview copying build/lib/ironic/drivers/modules/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/ucs copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/ja creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/ja/LC_MESSAGES copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v1 copying build/lib/ironic/common/glance_service/base_image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/service.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service/v2 copying build/lib/ironic/common/glance_service/service_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common/glance_service copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/link.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/controllers copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/api/middleware creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conf creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/cmd creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/conductor creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/oneview creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.template -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_nodes.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/test_audit.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/policy_fixture.py -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/drivers/fake.py to fake.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/version.py to version.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/tests/base.py to base.pyc writing byte-compilation script '/tmp/tmpHnF5Va.py' /usr/bin/python2 -O /tmp/tmpHnF5Va.py removing /tmp/tmpHnF5Va.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-images.filters -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-lib.filters -> /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic-10.1.0-py2.7.egg-info running install_scripts Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/bin Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/bin + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-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.0-1.el7.noarch//etc/ironic/policy.json + mv /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-images.filters /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-lib.filters /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch//usr/share/ironic/ironic-dist.conf + install -d -m 755 /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share + rm -f /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale/*pot' + mv /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic/locale /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share/locale + /usr/lib/rpm/find-lang.sh /builddir/build/BUILDROOT/openstack-ironic-10.1.0-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.0 /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.0-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.7mplP2 + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.0 + ostestr --path ironic/tests/unit 2018-02-15 13:14:18.574 13960 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.587 13959 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.609 13966 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.625 13964 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.627 13969 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.616 13961 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.629 13968 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.648 13970 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.656 13974 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.653 13958 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.651 13963 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.688 13978 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.681 13979 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.678 13973 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.710 13981 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.691 13976 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.712 13985 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.705 13972 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.711 13988 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.719 13987 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.720 13982 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.724 13977 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.733 13975 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.732 13971 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.756 13983 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.758 13967 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.766 13990 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.799 13984 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.825 13965 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.870 13980 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.876 13989 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2018-02-15 13:14:18.879 13986 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address {7} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.137152s] ... 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] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 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 -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 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 -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 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 -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 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 -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 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 -> b4130a7fc904 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 -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 Error while running foo: bar. "max-count" must be a positive 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,)) /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. /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.0). Please run "ironic-dbsync online_data_migrations" using the previous release. 2018-02-15 13:14:24.793 13966 INFO alembic.runtime.migration [req-f0d2eded-68fb-467e-9493-da3678987e16 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.794 13966 INFO alembic.runtime.migration [req-f0d2eded-68fb-467e-9493-da3678987e16 - - - - -] 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 -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 2018-02-15 13:14:24.804 13960 INFO alembic.runtime.migration [req-31e58ee6-616e-408b-8172-18683034e606 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.805 13960 INFO alembic.runtime.migration [req-31e58ee6-616e-408b-8172-18683034e606 - - - - -] Will assume non-transactional DDL. DELETE: /v1/chassis/2cc3475b-bdbb-4198-b04e-27e8ddb275e7 2018-02-15 13:14:24.849 13975 INFO alembic.runtime.migration [req-6f830cc5-6dcf-4ecb-8672-90517cbd007b - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.850 13975 INFO alembic.runtime.migration [req-6f830cc5-6dcf-4ecb-8672-90517cbd007b - - - - -] Will assume non-transactional DDL. {16} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.225758s] ... ok DELETE: /v1/nodes/foo.json GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ccfd9aee-b651-4e0d-b609-4977fb098c7d 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 2cc3475b-bdbb-4198-b04e-27e8ddb275e7 could not be found.\"}"} 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 -> b4130a7fc904 INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.279212s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> b4130a7fc904 GOT:Response: 204 No Content Openstack-Request-Id: req-ad42a64b-8d37-40aa-a641-81f420b30345 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_node.TestDelete.test_delete_node_by_name_with_json [0.241938s] ... ok GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8c5616ab-f59d-4eb4-88ab-caea6ad4273a 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.048509s] ... ok 2018-02-15 13:14:24.845 13973 INFO alembic.runtime.migration [req-fe540817-c545-48d7-9f7e-8acdb4a7963f - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.846 13973 INFO alembic.runtime.migration [req-fe540817-c545-48d7-9f7e-8acdb4a7963f - - - - -] Will assume non-transactional DDL. {14} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.204256s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ccd9f9b-896a-458e-bc2c-b566e36ac368 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\\\"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.065727s] ... 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-5ca6d948-8552-4c6c-b75d-0adb78f60cf1 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.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.062719s] ... 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/8d777954-e3d3-4280-af7c-0b565caa3053', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8d777954-e3d3-4280-af7c-0b565caa3053', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'8d777954-e3d3-4280-af7c-0b565caa3053'}]} GET: /v1/nodes?driver=fake {} 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/9000c608-6dda-47fa-a442-0d51621712ed', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9000c608-6dda-47fa-a442-0d51621712ed', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9000c608-6dda-47fa-a442-0d51621712ed'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f9a49191-866f-44af-9036-1e1ea0b2b4c8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f9a49191-866f-44af-9036-1e1ea0b2b4c8', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f9a49191-866f-44af-9036-1e1ea0b2b4c8'}]} 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/9000c608-6dda-47fa-a442-0d51621712ed', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9000c608-6dda-47fa-a442-0d51621712ed', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9000c608-6dda-47fa-a442-0d51621712ed'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=1&marker=9000c608-6dda-47fa-a442-0d51621712ed'} {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.342581s] ... ok GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5a818691-28e1-4184-88de-290819015804', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5a818691-28e1-4184-88de-290819015804', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'5a818691-28e1-4184-88de-290819015804'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.252203s] ... 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.0/ironic/drivers/modules/inspector.py", line 163, in _start_inspection purpose=lock_purpose) as task: File "/builddir/build/BUILD/ironic-10.1.0/ironic/conductor/task_manager.py", line 168, in acquire driver_name=driver_name, purpose=purpose) File "/builddir/build/BUILD/ironic-10.1.0/ironic/conductor/task_manager.py", line 244, 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.0/ironic/conductor/task_manager.py", line 227, in __init__ self._lock() File "/builddir/build/BUILD/ironic-10.1.0/ironic/conductor/task_manager.py", line 276, 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.0/ironic/conductor/task_manager.py", line 269, in reserve_node self.node_id) File "/builddir/build/BUILD/ironic-10.1.0/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.0/ironic/db/sqlalchemy/api.py", line 302, in reserve_node raise exception.NodeNotFound(node_id) NodeNotFound: 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'cf78007b-7ca3-434e-ab99-f8e64b0cf5f9', u'links': [{u'href': u'http://localhost/v1/chassis/cf78007b-7ca3-434e-ab99-f8e64b0cf5f9', u'rel': u'self'}, {u'href': u'http://localhost/chassis/cf78007b-7ca3-434e-ab99-f8e64b0cf5f9', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'656f6a1f-61d5-4fab-bb02-c77525b89520', u'links': [{u'href': u'http://localhost/v1/chassis/656f6a1f-61d5-4fab-bb02-c77525b89520', u'rel': u'self'}, {u'href': u'http://localhost/chassis/656f6a1f-61d5-4fab-bb02-c77525b89520', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'a2a7c521-5bff-4558-bef8-1bb0911ac489', u'links': [{u'href': u'http://localhost/v1/chassis/a2a7c521-5bff-4558-bef8-1bb0911ac489', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a2a7c521-5bff-4558-bef8-1bb0911ac489', 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=a2a7c521-5bff-4558-bef8-1bb0911ac489'} {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.118960s] ... 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,)) /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,)) /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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.078908s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-248e647c-e319-4e2c-81b3-9084e32f254e 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.058275s] ... ok 2018-02-15 13:14:24.933 13964 INFO alembic.runtime.migration [req-8352aaec-7df1-4b0b-8e84-afd213073cbc - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.934 13964 INFO alembic.runtime.migration [req-8352aaec-7df1-4b0b-8e84-afd213073cbc - - - - -] Will assume non-transactional DDL. GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} {5} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.244637s] ... ok GET: /v1/chassis {} GOT:{u'chassis': []} {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.065626s] ... ok GET: /v1/chassis?sort_key=uuid {} GOT:{u'chassis': [{u'uuid': u'0850b40b-44a9-4d69-a967-2b22b647d018', u'links': [{u'href': u'http://localhost/v1/chassis/0850b40b-44a9-4d69-a967-2b22b647d018', u'rel': u'self'}, {u'href': u'http://localhost/chassis/0850b40b-44a9-4d69-a967-2b22b647d018', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'19f41f11-b9d5-4d96-9ebc-2c68192f71dd', u'links': [{u'href': u'http://localhost/v1/chassis/19f41f11-b9d5-4d96-9ebc-2c68192f71dd', u'rel': u'self'}, {u'href': u'http://localhost/chassis/19f41f11-b9d5-4d96-9ebc-2c68192f71dd', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'9ab15bb6-f6b3-405a-aa72-aa21757e2224', u'links': [{u'href': u'http://localhost/v1/chassis/9ab15bb6-f6b3-405a-aa72-aa21757e2224', u'rel': u'self'}, {u'href': u'http://localhost/chassis/9ab15bb6-f6b3-405a-aa72-aa21757e2224', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fac454e2-587e-4297-a72b-1131d35cfa11 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\\\"\"}"} {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.075483s] ... 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-02-15T13:14:25.503734+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-02-15T13:14:25.503734+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'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-02-15T13:14:25.119292+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'}]} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.045886s] ... 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:{} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.220796s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.161424s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.170192s] ... ok GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} 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/73168dae-2fa5-4030-b685-20e6dfec68e6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/73168dae-2fa5-4030-b685-20e6dfec68e6', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'73168dae-2fa5-4030-b685-20e6dfec68e6'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/509f2e5e-939d-4449-9b3d-1c539f8e2149', u'rel': u'self'}, {u'href': u'http://localhost/nodes/509f2e5e-939d-4449-9b3d-1c539f8e2149', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'509f2e5e-939d-4449-9b3d-1c539f8e2149'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7aa6f0ee-67c1-4178-905f-66d627149e69', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7aa6f0ee-67c1-4178-905f-66d627149e69', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'7aa6f0ee-67c1-4178-905f-66d627149e69'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.178329s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-047688ca-8ac0-4af9-acf0-4acf1c71700b 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.107353s] ... ok PATCH: /v1/chassis/47eb2ae2-bad0-4406-a6ea-7e85880e7323 [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d131b578-5ea0-48a2-b7a1-5b94d7b48f15 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 47eb2ae2-bad0-4406-a6ea-7e85880e7323 could not be found.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.049391s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.077348s] ... 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.119635s] ... ok GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f2006c07-5188-409e-813f-711681e09d8f 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.\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f4120a2b-e006-4ba2-9dbc-476667f6e5bb 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.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.067239s] ... ok GET: /v1/nodes/?limit=3&associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'22d30753-6947-4a00-a8cf-b9d48b400bee', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a5d078da-aeda-481c-9528-32f27e8b2cc6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a5d078da-aeda-481c-9528-32f27e8b2cc6', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a5d078da-aeda-481c-9528-32f27e8b2cc6'}, {u'instance_uuid': u'af5d4733-adde-4696-8be3-d651e91caa35', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b65f4707-43a3-4de1-879c-43bacc2c901c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b65f4707-43a3-4de1-879c-43bacc2c901c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b65f4707-43a3-4de1-879c-43bacc2c901c'}, {u'instance_uuid': u'a0092815-8477-4557-93cd-4df7a4c69884', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ef80fc9b-6413-4b69-b837-8c58c5abbd5e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ef80fc9b-6413-4b69-b837-8c58c5abbd5e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ef80fc9b-6413-4b69-b837-8c58c5abbd5e'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=ef80fc9b-6413-4b69-b837-8c58c5abbd5e'} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.238211s] ... 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/bcc8589a-21d4-4f48-9665-41f019347104', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bcc8589a-21d4-4f48-9665-41f019347104', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'bcc8589a-21d4-4f48-9665-41f019347104'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2673b4c8-5b1a-4496-8f12-db269cc6cee3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2673b4c8-5b1a-4496-8f12-db269cc6cee3', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2673b4c8-5b1a-4496-8f12-db269cc6cee3'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ff843d13-6e4b-4219-8f9d-9e95afeda454', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ff843d13-6e4b-4219-8f9d-9e95afeda454', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ff843d13-6e4b-4219-8f9d-9e95afeda454'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=ff843d13-6e4b-4219-8f9d-9e95afeda454'} {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.220656s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.078425s] ... 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'}} {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.074743s] ... 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/76efd38f-b18f-426c-978f-5703254e0233', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76efd38f-b18f-426c-978f-5703254e0233', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'76efd38f-b18f-426c-978f-5703254e0233'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/94ff09d1-fda2-4da8-b731-0825a601eab4', u'rel': u'self'}, {u'href': u'http://localhost/nodes/94ff09d1-fda2-4da8-b731-0825a601eab4', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'94ff09d1-fda2-4da8-b731-0825a601eab4'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7b6df66b-bd1a-427b-8816-4d9244c42c58', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7b6df66b-bd1a-427b-8816-4d9244c42c58', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7b6df66b-bd1a-427b-8816-4d9244c42c58'}]} GET: /v1/nodes?associated=FALSE {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/76efd38f-b18f-426c-978f-5703254e0233', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76efd38f-b18f-426c-978f-5703254e0233', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'76efd38f-b18f-426c-978f-5703254e0233'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/94ff09d1-fda2-4da8-b731-0825a601eab4', u'rel': u'self'}, {u'href': u'http://localhost/nodes/94ff09d1-fda2-4da8-b731-0825a601eab4', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'94ff09d1-fda2-4da8-b731-0825a601eab4'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7b6df66b-bd1a-427b-8816-4d9244c42c58', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7b6df66b-bd1a-427b-8816-4d9244c42c58', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7b6df66b-bd1a-427b-8816-4d9244c42c58'}]} {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.362546s] ... 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-07b40dd4-edcb-472d-8556-6978625472b2 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'\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.083045s] ... 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-02-15T13:14:25.517808+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-02-15T13:14:25.517808+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'}]} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.147922s] ... 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-7e82462d-eabe-43a8-8176-333d2bde5f0e 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-02-15T13:14:25.845329+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"}]} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.174011s] ... 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-02-15T13:14:25.645119+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-02-15T13:14:25.645119+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'}]} {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.139113s] ... 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-02-15T13:14:25.784672+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'}]} {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.087083s] ... 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-3cbf1fa6-ec52-4a90-81e1-e2257ef0c67f 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-02-15T13:14:26.014661+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"}]} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.125872s] ... ok PATCH: /v1/nodes/66246871-75c4-4233-97c1-d9e7a7468bca [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28e3fe02-d3b3-4f57-b90c-f3999dfe3e29 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/66246871-75c4-4233-97c1-d9e7a7468bca", "rel": "self"}, {"href": "http://localhost/nodes/66246871-75c4-4233-97c1-d9e7a7468bca", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "66246871-75c4-4233-97c1-d9e7a7468bca", "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-02-15T13:14:26.114282+00:00", "ports": [{"href": "http://localhost/v1/nodes/66246871-75c4-4233-97c1-d9e7a7468bca/ports", "rel": "self"}, {"href": "http://localhost/nodes/66246871-75c4-4233-97c1-d9e7a7468bca/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/2573563c-2c1d-4697-aaa7-e71096f5eed1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7981fad9-9ae6-4029-8c0d-2039a020dedd 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/2573563c-2c1d-4697-aaa7-e71096f5eed1", "rel": "self"}, {"href": "http://localhost/nodes/2573563c-2c1d-4697-aaa7-e71096f5eed1", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspecting", "uuid": "2573563c-2c1d-4697-aaa7-e71096f5eed1", "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-02-15T13:14:26.182068+00:00", "ports": [{"href": "http://localhost/v1/nodes/2573563c-2c1d-4697-aaa7-e71096f5eed1/ports", "rel": "self"}, {"href": "http://localhost/nodes/2573563c-2c1d-4697-aaa7-e71096f5eed1/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/a1657f57-a3f4-46d3-b971-e87a86b11080 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04850440-71c8-4866-99f3-55021bcf8901 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/a1657f57-a3f4-46d3-b971-e87a86b11080", "rel": "self"}, {"href": "http://localhost/nodes/a1657f57-a3f4-46d3-b971-e87a86b11080", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspect failed", "uuid": "a1657f57-a3f4-46d3-b971-e87a86b11080", "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-02-15T13:14:26.244964+00:00", "ports": [{"href": "http://localhost/v1/nodes/a1657f57-a3f4-46d3-b971-e87a86b11080/ports", "rel": "self"}, {"href": "http://localhost/nodes/a1657f57-a3f4-46d3-b971-e87a86b11080/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/33dd3f5e-f861-4ff8-8be6-a1aa3cf8de1b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1924fc9-f6e7-41fc-a9d3-01f2c29daf3f 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/33dd3f5e-f861-4ff8-8be6-a1aa3cf8de1b", "rel": "self"}, {"href": "http://localhost/nodes/33dd3f5e-f861-4ff8-8be6-a1aa3cf8de1b", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "clean failed", "uuid": "33dd3f5e-f861-4ff8-8be6-a1aa3cf8de1b", "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-02-15T13:14:26.307113+00:00", "ports": [{"href": "http://localhost/v1/nodes/33dd3f5e-f861-4ff8-8be6-a1aa3cf8de1b/ports", "rel": "self"}, {"href": "http://localhost/nodes/33dd3f5e-f861-4ff8-8be6-a1aa3cf8de1b/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/d15feb54-a630-45ef-9997-d6837148754c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43dc1af3-c7e8-4cd4-87c5-4a1aecbf383c 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/d15feb54-a630-45ef-9997-d6837148754c", "rel": "self"}, {"href": "http://localhost/nodes/d15feb54-a630-45ef-9997-d6837148754c", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "error", "uuid": "d15feb54-a630-45ef-9997-d6837148754c", "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-02-15T13:14:26.369283+00:00", "ports": [{"href": "http://localhost/v1/nodes/d15feb54-a630-45ef-9997-d6837148754c/ports", "rel": "self"}, {"href": "http://localhost/nodes/d15feb54-a630-45ef-9997-d6837148754c/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/8500839b-45c0-473b-a985-98143fa8732d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-363ed3ec-12ee-4988-a569-ccd56a27734e 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/8500839b-45c0-473b-a985-98143fa8732d", "rel": "self"}, {"href": "http://localhost/nodes/8500839b-45c0-473b-a985-98143fa8732d", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "verifying", "uuid": "8500839b-45c0-473b-a985-98143fa8732d", "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-02-15T13:14:26.431482+00:00", "ports": [{"href": "http://localhost/v1/nodes/8500839b-45c0-473b-a985-98143fa8732d/ports", "rel": "self"}, {"href": "http://localhost/nodes/8500839b-45c0-473b-a985-98143fa8732d/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/4ed04d93-1bc4-47a2-b558-18ef41072115 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50c1d6a5-77f0-4525-be58-364d532b96d1 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/4ed04d93-1bc4-47a2-b558-18ef41072115", "rel": "self"}, {"href": "http://localhost/nodes/4ed04d93-1bc4-47a2-b558-18ef41072115", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "adopt failed", "uuid": "4ed04d93-1bc4-47a2-b558-18ef41072115", "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-02-15T13:14:26.494334+00:00", "ports": [{"href": "http://localhost/v1/nodes/4ed04d93-1bc4-47a2-b558-18ef41072115/ports", "rel": "self"}, {"href": "http://localhost/nodes/4ed04d93-1bc4-47a2-b558-18ef41072115/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/6573c410-2b26-4016-b0db-bb4a8541e6ef [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c466699-7d22-4586-845a-c5ac60a5f17e 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/6573c410-2b26-4016-b0db-bb4a8541e6ef", "rel": "self"}, {"href": "http://localhost/nodes/6573c410-2b26-4016-b0db-bb4a8541e6ef", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "rescue failed", "uuid": "6573c410-2b26-4016-b0db-bb4a8541e6ef", "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-02-15T13:14:26.557536+00:00", "ports": [{"href": "http://localhost/v1/nodes/6573c410-2b26-4016-b0db-bb4a8541e6ef/ports", "rel": "self"}, {"href": "http://localhost/nodes/6573c410-2b26-4016-b0db-bb4a8541e6ef/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/fbcbeca4-d577-4cb5-8946-b8e6cb1ab002 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ef94c42-1968-4a1d-8645-312a3bc2f97d 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/fbcbeca4-d577-4cb5-8946-b8e6cb1ab002", "rel": "self"}, {"href": "http://localhost/nodes/fbcbeca4-d577-4cb5-8946-b8e6cb1ab002", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "unrescue failed", "uuid": "fbcbeca4-d577-4cb5-8946-b8e6cb1ab002", "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-02-15T13:14:26.621114+00:00", "ports": [{"href": "http://localhost/v1/nodes/fbcbeca4-d577-4cb5-8946-b8e6cb1ab002/ports", "rel": "self"}, {"href": "http://localhost/nodes/fbcbeca4-d577-4cb5-8946-b8e6cb1ab002/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.621350s] ... 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-0097420e-34ad-40d7-b503-268c055c942d 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-02-15T13:14:25.439188+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-02-15T13:14:25.439188+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'******'}} PATCH: /v1/nodes/badfac30-511f-4bc7-a49a-deedce3d304b [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5235784d-c313-481e-a646-f096e38d5a50 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_node.TestPatch.test_update_network_interface_old_api [0.076141s] ... 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-5ee3faea-ee8e-40d9-9f8a-b1d7f5702fbb 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'\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.129454s] ... 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'85d623f2-80d1-498e-b9b8-228e64d3890b', u'links': [{u'href': u'http://localhost/v1/volume/connectors/85d623f2-80d1-498e-b9b8-228e64d3890b', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/85d623f2-80d1-498e-b9b8-228e64d3890b', 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'ba1730bc-9603-4d59-bc17-43f41911557a', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ba1730bc-9603-4d59-bc17-43f41911557a', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ba1730bc-9603-4d59-bc17-43f41911557a', 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'85d623f2-80d1-498e-b9b8-228e64d3890b', u'links': [{u'href': u'http://localhost/v1/volume/connectors/85d623f2-80d1-498e-b9b8-228e64d3890b', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/85d623f2-80d1-498e-b9b8-228e64d3890b', 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=85d623f2-80d1-498e-b9b8-228e64d3890b'} {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.168037s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.156989s] ... 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.0/ironic/drivers/modules/inspector.py", line 163, in _start_inspection purpose=lock_purpose) as task: File "/builddir/build/BUILD/ironic-10.1.0/ironic/conductor/task_manager.py", line 168, in acquire driver_name=driver_name, purpose=purpose) File "/builddir/build/BUILD/ironic-10.1.0/ironic/conductor/task_manager.py", line 244, 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.0/ironic/conductor/task_manager.py", line 227, in __init__ self._lock() File "/builddir/build/BUILD/ironic-10.1.0/ironic/conductor/task_manager.py", line 276, 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.0/ironic/conductor/task_manager.py", line 269, in reserve_node self.node_id) File "/builddir/build/BUILD/ironic-10.1.0/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.0/ironic/db/sqlalchemy/api.py", line 302, in reserve_node raise exception.NodeNotFound(node_id) NodeNotFound: 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 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-7e9597d9-4991-4ab8-970b-64e6cd53c807 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.082026s] ... 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-56c3f3cf-0d15-4385-bdb7-93544542ea04 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.TestPatch.test_patch_ports_subresource_no_port_id [0.068598s] ... 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-8efe273b-8ec9-47ff-92dc-2532f8d25ef0 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.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.071249s] ... 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-5612308e-bd43-42d7-8dba-d7aaa0f2d79e 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\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.067077s] ... 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-afd70f6c-c728-48c7-8bdd-c4b8ecdc7cbb 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-02-15T13:14:26.243171+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-02-15T13:14:26.243171+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'}]} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.153755s] ... 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-22c238bf-c817-4050-a2bb-7cb6b2cdc576 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\\\"\"}"} 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-9839921f-dc25-4b61-8dbe-b0215394fcc6 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, '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-2421e46e-6c7f-49e0-88d1-69daa0a28073 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.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.045031s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.106256s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.072421s] ... 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-fd9f136a-ef36-4bb8-8420-ffd45136d67f 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'\"}"} 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-431f0f9c-dcd0-4c9b-9083-e535915ba245 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\"}"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.080739s] ... 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-4bc04242-f89f-4a2e-bdf6-fc94f11d5df2 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).\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.068313s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.071564s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.068184s] ... 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-f0945789-8dbc-4f9d-a0d4-77b59e707d54 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).\"}"} 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': 'ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3 Openstack-Request-Id: req-8828b40e-e80f-4476-b47a-b69a2725bc72 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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3", "rel": "self"}, {"href": "http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/states", "rel": "self"}, {"href": "http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3", "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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/volume", "rel": "self"}, {"href": "http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/ports", "rel": "self"}, {"href": "http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3', 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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3', 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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/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/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ce6a74a7-629f-433e-9ad5-c7b1ae61b3e3/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': '4fbe9b24-70b6-4bf8-bf2d-384343bdf973'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973 Openstack-Request-Id: req-a812c479-0d53-446b-a569-a95f0ab587ab 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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973", "rel": "self"}, {"href": "http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/states", "rel": "self"}, {"href": "http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "4fbe9b24-70b6-4bf8-bf2d-384343bdf973", "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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/volume", "rel": "self"}, {"href": "http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/ports", "rel": "self"}, {"href": "http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973', 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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'4fbe9b24-70b6-4bf8-bf2d-384343bdf973', 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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/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/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4fbe9b24-70b6-4bf8-bf2d-384343bdf973/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': 'ed6d4c14-6f4d-4714-9ed2-0b0707148316'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316 Openstack-Request-Id: req-eb4d6eb3-9968-4249-b5fd-933f5d4abec4 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/ed6d4c14-6f4d-4714-9ed2-0b0707148316", "rel": "self"}, {"href": "http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/states", "rel": "self"}, {"href": "http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "ed6d4c14-6f4d-4714-9ed2-0b0707148316", "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/ed6d4c14-6f4d-4714-9ed2-0b0707148316/volume", "rel": "self"}, {"href": "http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/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/ed6d4c14-6f4d-4714-9ed2-0b0707148316/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/ports", "rel": "self"}, {"href": "http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/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/ed6d4c14-6f4d-4714-9ed2-0b0707148316 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316', 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/ed6d4c14-6f4d-4714-9ed2-0b0707148316/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'ed6d4c14-6f4d-4714-9ed2-0b0707148316', 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/ed6d4c14-6f4d-4714-9ed2-0b0707148316/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/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/ed6d4c14-6f4d-4714-9ed2-0b0707148316/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/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/ed6d4c14-6f4d-4714-9ed2-0b0707148316/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ed6d4c14-6f4d-4714-9ed2-0b0707148316/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': '1158ea6c-1def-4b0a-95af-c55c07986233'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1158ea6c-1def-4b0a-95af-c55c07986233 Openstack-Request-Id: req-3abbdf17-867b-48fa-b41e-de62a6612a2e 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/1158ea6c-1def-4b0a-95af-c55c07986233", "rel": "self"}, {"href": "http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/states", "rel": "self"}, {"href": "http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "1158ea6c-1def-4b0a-95af-c55c07986233", "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/1158ea6c-1def-4b0a-95af-c55c07986233/volume", "rel": "self"}, {"href": "http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/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/1158ea6c-1def-4b0a-95af-c55c07986233/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/ports", "rel": "self"}, {"href": "http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/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/1158ea6c-1def-4b0a-95af-c55c07986233 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1158ea6c-1def-4b0a-95af-c55c07986233', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233', 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/1158ea6c-1def-4b0a-95af-c55c07986233/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1158ea6c-1def-4b0a-95af-c55c07986233', 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/1158ea6c-1def-4b0a-95af-c55c07986233/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/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/1158ea6c-1def-4b0a-95af-c55c07986233/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/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/1158ea6c-1def-4b0a-95af-c55c07986233/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1158ea6c-1def-4b0a-95af-c55c07986233/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': '79a9c035-67d1-43c4-8c9d-2f490f449b4d'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d Openstack-Request-Id: req-98facccb-2542-496d-bd6b-4552ef3a8037 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/79a9c035-67d1-43c4-8c9d-2f490f449b4d", "rel": "self"}, {"href": "http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/states", "rel": "self"}, {"href": "http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "79a9c035-67d1-43c4-8c9d-2f490f449b4d", "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/79a9c035-67d1-43c4-8c9d-2f490f449b4d/volume", "rel": "self"}, {"href": "http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/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/79a9c035-67d1-43c4-8c9d-2f490f449b4d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/ports", "rel": "self"}, {"href": "http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/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/79a9c035-67d1-43c4-8c9d-2f490f449b4d {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d', 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/79a9c035-67d1-43c4-8c9d-2f490f449b4d/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'79a9c035-67d1-43c4-8c9d-2f490f449b4d', 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/79a9c035-67d1-43c4-8c9d-2f490f449b4d/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/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/79a9c035-67d1-43c4-8c9d-2f490f449b4d/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/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/79a9c035-67d1-43c4-8c9d-2f490f449b4d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/79a9c035-67d1-43c4-8c9d-2f490f449b4d/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': '668d4674-f6a8-4283-b29c-1cab4567c9e7'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7 Openstack-Request-Id: req-36fbf402-2692-4709-afb3-4ede9aa0e73c 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/668d4674-f6a8-4283-b29c-1cab4567c9e7", "rel": "self"}, {"href": "http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/states", "rel": "self"}, {"href": "http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "668d4674-f6a8-4283-b29c-1cab4567c9e7", "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/668d4674-f6a8-4283-b29c-1cab4567c9e7/volume", "rel": "self"}, {"href": "http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/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/668d4674-f6a8-4283-b29c-1cab4567c9e7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/ports", "rel": "self"}, {"href": "http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/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/668d4674-f6a8-4283-b29c-1cab4567c9e7 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7', 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/668d4674-f6a8-4283-b29c-1cab4567c9e7/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'668d4674-f6a8-4283-b29c-1cab4567c9e7', 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/668d4674-f6a8-4283-b29c-1cab4567c9e7/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/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/668d4674-f6a8-4283-b29c-1cab4567c9e7/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/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/668d4674-f6a8-4283-b29c-1cab4567c9e7/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/668d4674-f6a8-4283-b29c-1cab4567c9e7/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': '998730da-d000-4333-89e7-f89bef250b26'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/998730da-d000-4333-89e7-f89bef250b26 Openstack-Request-Id: req-e7f2199b-adec-4f42-ac20-004b5fee9755 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/998730da-d000-4333-89e7-f89bef250b26", "rel": "self"}, {"href": "http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/998730da-d000-4333-89e7-f89bef250b26/states", "rel": "self"}, {"href": "http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "998730da-d000-4333-89e7-f89bef250b26", "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/998730da-d000-4333-89e7-f89bef250b26/volume", "rel": "self"}, {"href": "http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/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/998730da-d000-4333-89e7-f89bef250b26/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/998730da-d000-4333-89e7-f89bef250b26/ports", "rel": "self"}, {"href": "http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/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/998730da-d000-4333-89e7-f89bef250b26 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/998730da-d000-4333-89e7-f89bef250b26', u'rel': u'self'}, {u'href': u'http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26', 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/998730da-d000-4333-89e7-f89bef250b26/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'998730da-d000-4333-89e7-f89bef250b26', 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/998730da-d000-4333-89e7-f89bef250b26/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/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/998730da-d000-4333-89e7-f89bef250b26/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/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/998730da-d000-4333-89e7-f89bef250b26/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/998730da-d000-4333-89e7-f89bef250b26/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': 'b36a7593-c695-418d-83a5-0f80205821cc'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/b36a7593-c695-418d-83a5-0f80205821cc Openstack-Request-Id: req-019091d7-2dd7-42f7-8c0b-9950f164087f 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/b36a7593-c695-418d-83a5-0f80205821cc", "rel": "self"}, {"href": "http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/b36a7593-c695-418d-83a5-0f80205821cc/states", "rel": "self"}, {"href": "http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "b36a7593-c695-418d-83a5-0f80205821cc", "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/b36a7593-c695-418d-83a5-0f80205821cc/volume", "rel": "self"}, {"href": "http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/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/b36a7593-c695-418d-83a5-0f80205821cc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/b36a7593-c695-418d-83a5-0f80205821cc/ports", "rel": "self"}, {"href": "http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/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/b36a7593-c695-418d-83a5-0f80205821cc {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/b36a7593-c695-418d-83a5-0f80205821cc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc', 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/b36a7593-c695-418d-83a5-0f80205821cc/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'b36a7593-c695-418d-83a5-0f80205821cc', 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/b36a7593-c695-418d-83a5-0f80205821cc/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/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/b36a7593-c695-418d-83a5-0f80205821cc/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/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/b36a7593-c695-418d-83a5-0f80205821cc/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b36a7593-c695-418d-83a5-0f80205821cc/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': 'd66bb240-0c9b-47d3-bd6b-ebdb332a6774', '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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774 Openstack-Request-Id: req-f76bb58a-ab96-4487-ad72-4841a78baa2b 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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774", "rel": "self"}, {"href": "http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/states", "rel": "self"}, {"href": "http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "d66bb240-0c9b-47d3-bd6b-ebdb332a6774", "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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/volume", "rel": "self"}, {"href": "http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/ports", "rel": "self"}, {"href": "http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774', 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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'd66bb240-0c9b-47d3-bd6b-ebdb332a6774', 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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/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/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d66bb240-0c9b-47d3-bd6b-ebdb332a6774/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': '08fcdd59-bcb8-4a0a-bf33-5d267837644f'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f Openstack-Request-Id: req-0afa8ffd-2cd2-4d13-b7f0-e0f4a25383af 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/08fcdd59-bcb8-4a0a-bf33-5d267837644f", "rel": "self"}, {"href": "http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/states", "rel": "self"}, {"href": "http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "08fcdd59-bcb8-4a0a-bf33-5d267837644f", "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/08fcdd59-bcb8-4a0a-bf33-5d267837644f/volume", "rel": "self"}, {"href": "http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/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/08fcdd59-bcb8-4a0a-bf33-5d267837644f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/ports", "rel": "self"}, {"href": "http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/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/08fcdd59-bcb8-4a0a-bf33-5d267837644f {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f', 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/08fcdd59-bcb8-4a0a-bf33-5d267837644f/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'08fcdd59-bcb8-4a0a-bf33-5d267837644f', 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/08fcdd59-bcb8-4a0a-bf33-5d267837644f/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/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/08fcdd59-bcb8-4a0a-bf33-5d267837644f/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/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/08fcdd59-bcb8-4a0a-bf33-5d267837644f/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/08fcdd59-bcb8-4a0a-bf33-5d267837644f/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': 'b3f322ff-ad8b-4360-91d9-971d5edc9f63'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63 Openstack-Request-Id: req-a670790b-1918-46bb-ba44-3e93abcb305c 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/b3f322ff-ad8b-4360-91d9-971d5edc9f63", "rel": "self"}, {"href": "http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/states", "rel": "self"}, {"href": "http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "b3f322ff-ad8b-4360-91d9-971d5edc9f63", "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/b3f322ff-ad8b-4360-91d9-971d5edc9f63/volume", "rel": "self"}, {"href": "http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/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/b3f322ff-ad8b-4360-91d9-971d5edc9f63/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/ports", "rel": "self"}, {"href": "http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/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/b3f322ff-ad8b-4360-91d9-971d5edc9f63 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63', 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/b3f322ff-ad8b-4360-91d9-971d5edc9f63/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'b3f322ff-ad8b-4360-91d9-971d5edc9f63', 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/b3f322ff-ad8b-4360-91d9-971d5edc9f63/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/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/b3f322ff-ad8b-4360-91d9-971d5edc9f63/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/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/b3f322ff-ad8b-4360-91d9-971d5edc9f63/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b3f322ff-ad8b-4360-91d9-971d5edc9f63/ports', u'rel': u'bookmark'}]} 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 "} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.075040s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.051734s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.441837s] ... 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-57aa220a-0517-44a7-bab6-ae4cccf266db 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.152414s] ... ok PATCH: /v1/nodes/6a3b0230-cfdd-4240-9fdf-fb4d48f64306 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-795b320e-f012-4c77-85c3-5cdf3a4ee971 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.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.083198s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_sample [0.098738s] ... 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-5cf6e330-1e91-46e5-8159-8f1a45fd4d3c 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-02-15T13:14:26.277826+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-02-15T13:14:26.277826+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_network_interface [0.160769s] ... ok 2018-02-15 13:14:25.001 13979 INFO alembic.runtime.migration [req-ccc99fec-628a-4e23-bfc1-98a8e6605eab - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.002 13979 INFO alembic.runtime.migration [req-ccc99fec-628a-4e23-bfc1-98a8e6605eab - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6cd4a260-ef28-4446-b6c2-68f4aec60e2f 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.\"}"} 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-1235df88-c873-4491-802d-44b1f102fc23 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 ''\"}"} 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-208ccf5e-5a5c-4139-b134-fbb6640cfa37 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.075367s] ... 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-c20e7841-d8d4-4ddd-80ba-976c13a0c513 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.069028s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-7003ae1e-a925-480b-91f1-8dcbf05f475b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.092988s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.019204s] ... 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'}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.160851s] ... ok 2018-02-15 13:14:25.416 13961 INFO alembic.runtime.migration [req-a1fc9513-054b-4fae-924d-6e48dcfa8f41 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.417 13961 INFO alembic.runtime.migration [req-a1fc9513-054b-4fae-924d-6e48dcfa8f41 - - - - -] Will assume non-transactional DDL. 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'}]} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.274806s] ... 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-df9da0e8-5b66-40a0-8238-80935bef7b07 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\": \"\"}"} {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.058604s] ... ok PUT: /v1/nodes/node-39/traits {'traits': []} GOT:Response: 204 No Content Openstack-Request-Id: req-5f7e6988-dd62-4261-bf7b-2a1ceb51b3d3 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.089415s] ... ok GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'cb85d6de-4877-4888-8579-9cf3128437ac', u'links': [{u'href': u'http://localhost/v1/ports/cb85d6de-4877-4888-8579-9cf3128437ac', u'rel': u'self'}, {u'href': u'http://localhost/ports/cb85d6de-4877-4888-8579-9cf3128437ac', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'd38bb7c4-089b-4aeb-beef-eaf82e9ef758', u'links': [{u'href': u'http://localhost/v1/ports/d38bb7c4-089b-4aeb-beef-eaf82e9ef758', u'rel': u'self'}, {u'href': u'http://localhost/ports/d38bb7c4-089b-4aeb-beef-eaf82e9ef758', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'1c82e0e1-cf55-40e2-89a4-7537e061ff42', u'links': [{u'href': u'http://localhost/v1/ports/1c82e0e1-cf55-40e2-89a4-7537e061ff42', u'rel': u'self'}, {u'href': u'http://localhost/ports/1c82e0e1-cf55-40e2-89a4-7537e061ff42', 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=1c82e0e1-cf55-40e2-89a4-7537e061ff42'} {5} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.125767s] ... ok GET: /v1/ports {} GOT:{u'ports': []} {5} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.095100s] ... ok 2018-02-15 13:14:24.994 13989 INFO alembic.runtime.migration [req-00bfbe7d-39c1-4a0a-aa0d-dbc05464483b - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.995 13989 INFO alembic.runtime.migration [req-00bfbe7d-39c1-4a0a-aa0d-dbc05464483b - - - - -] 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.198396s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.051307s] ... ok 2018-02-15 13:14:24.934 13963 INFO alembic.runtime.migration [req-08d5e948-cdb5-42e5-8eba-521482c955f8 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.935 13963 INFO alembic.runtime.migration [req-08d5e948-cdb5-42e5-8eba-521482c955f8 - - - - -] Will assume non-transactional DDL. {4} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.179582s] ... ok 2018-02-15 13:14:25.207 13965 INFO alembic.runtime.migration [req-8bdf08d7-7a5f-4569-855a-e0fc6944900c - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.207 13965 INFO alembic.runtime.migration [req-8bdf08d7-7a5f-4569-855a-e0fc6944900c - - - - -] Will assume non-transactional DDL. {6} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.187164s] ... ok 2018-02-15 13:14:25.450 13970 INFO alembic.runtime.migration [req-3a85e55b-2669-430a-bf7e-375f4cc4bad8 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.451 13970 INFO alembic.runtime.migration [req-3a85e55b-2669-430a-bf7e-375f4cc4bad8 - - - - -] Will assume non-transactional DDL. 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-02-15T13:14:25.578673+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'}]} 2018-02-15 13:14:25.286 13986 INFO alembic.runtime.migration [req-c5dceea5-4fce-4aaa-937b-68e76aaad6c3 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.287 13986 INFO alembic.runtime.migration [req-c5dceea5-4fce-4aaa-937b-68e76aaad6c3 - - - - -] 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-407597ad-26b1-4c33-b1db-4b85efc52cfa 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.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.325343s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.240767s] ... ok 2018-02-15 13:14:24.857 13971 INFO alembic.runtime.migration [req-48f3fb9a-43c0-4599-b14e-8601f90df994 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.858 13971 INFO alembic.runtime.migration [req-48f3fb9a-43c0-4599-b14e-8601f90df994 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e216138a-f042-4d88-809f-b1d86ead4ab8 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\"}"} {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.185282s] ... ok 2018-02-15 13:14:25.652 13974 INFO alembic.runtime.migration [req-1c939162-fa9e-4783-953c-4e77aadffac2 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.653 13974 INFO alembic.runtime.migration [req-1c939162-fa9e-4783-953c-4e77aadffac2 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0753e36c-1cd9-4f03-9978-e1e6c42120e7 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_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.272206s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fc6bd57a-a810-4757-bfb9-a41f6120f455 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.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.091596s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.271616s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-3835b9d8-a7f0-4f61-baa3-77a2e5c378e8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.067932s] ... 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-40a445d0-6cff-4ded-8439-ac76220d6936 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.063692s] ... 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-3f6c96af-3e00-4b47-b9ca-7172d3ae4ad1 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.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.063296s] ... ok 2018-02-15 13:14:25.001 13958 INFO alembic.runtime.migration [req-96fb5fb2-dd84-4bf8-a13b-d2b17f47fe5c - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.001 13958 INFO alembic.runtime.migration [req-96fb5fb2-dd84-4bf8-a13b-d2b17f47fe5c - - - - -] 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-02-15T13:14:25.127931+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'} 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-5b92fd73-2595-4126-b520-ab456861aebf 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_chassis.TestPatch.test_patch_nodes_subresource [0.046583s] ... 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-24c4200a-8954-437c-b8ba-402c32fcfdba 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.\"}"} 2018-02-15 13:14:25.202 13990 INFO alembic.runtime.migration [req-f1122b26-3c1c-4b8b-9f97-9a31fa62e1b1 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.203 13990 INFO alembic.runtime.migration [req-f1122b26-3c1c-4b8b-9f97-9a31fa62e1b1 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis?fields=uuid,extra {} GOT:{u'chassis': [{u'uuid': u'4db347fc-976e-4d49-9ae5-429e234089dd', u'links': [{u'href': u'http://localhost/v1/chassis/4db347fc-976e-4d49-9ae5-429e234089dd', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4db347fc-976e-4d49-9ae5-429e234089dd', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'c7fbf9a4-5ba5-4684-9b20-d5f6626a098c', u'links': [{u'href': u'http://localhost/v1/chassis/c7fbf9a4-5ba5-4684-9b20-d5f6626a098c', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c7fbf9a4-5ba5-4684-9b20-d5f6626a098c', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'20e180a0-e364-4375-90c6-033b5ace31f4', u'links': [{u'href': u'http://localhost/v1/chassis/20e180a0-e364-4375-90c6-033b5ace31f4', u'rel': u'self'}, {u'href': u'http://localhost/chassis/20e180a0-e364-4375-90c6-033b5ace31f4', u'rel': u'bookmark'}], u'extra': {}}]} GET: /v1/ports?sort_key=pxe_enabled {} GOT:{u'ports': [{u'uuid': u'e90196c2-5290-4f31-92a3-ce2eb911ed8a', u'links': [{u'href': u'http://localhost/v1/ports/e90196c2-5290-4f31-92a3-ce2eb911ed8a', u'rel': u'self'}, {u'href': u'http://localhost/ports/e90196c2-5290-4f31-92a3-ce2eb911ed8a', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'018080da-9802-4b59-b4a9-ea6bf5cb9f20', u'links': [{u'href': u'http://localhost/v1/ports/018080da-9802-4b59-b4a9-ea6bf5cb9f20', u'rel': u'self'}, {u'href': u'http://localhost/ports/018080da-9802-4b59-b4a9-ea6bf5cb9f20', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.101175s] ... 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-37d844fe-1efd-45a1-baad-2f51ae67e48d 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.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.061536s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1210a864-c207-4784-acb3-221bf92418bb 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\"}"} 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-f763b2d5-a8e1-4f6b-af97-ced15936a2f2 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-02-15T13:14:25.605831+00:00", "updated_at": "2018-02-15T13:14:25.632623+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"} {30} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.023679s] ... ok {30} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.023001s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.261059s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.093780s] ... 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-b7e81ce6-60ad-4ba6-a046-c02e378ce897 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/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-c4a22b35-dd27-4326-8946-09c6799ad47d 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'\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.127179s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.053607s] ... 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-9dffb4fa-2c53-4d38-ad4a-bef53a86bdd1 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.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.050780s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.060490s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.333044s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.054997s] ... 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-ee503691-1d83-4ef3-a524-a93deea5ad81 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\\\".\"}"} 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': {}} {6} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.050976s] ... 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-6dc2ee3e-5cce-42c4-bb9d-93338091d83d 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-02-15T13:14:25.530104+00:00", "updated_at": "2018-02-15T13:14:25.558500+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-02-15T13:14:25.530104+00:00', u'updated_at': u'2018-02-15T13:14:25.558500+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'} {27} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.080904s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.183550+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.045850s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.160245s] ... 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-9ea0b839-af85-4894-8ee0-106288423807 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'} 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-36f57f2c-e1e5-4fd7-be8a-e75b36c579e2 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'} {27} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.070940s] ... ok 2018-02-15 13:14:25.377 13972 INFO alembic.runtime.migration [req-6e175f74-25b0-4f41-8d50-dad54a6447a7 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.378 13972 INFO alembic.runtime.migration [req-6e175f74-25b0-4f41-8d50-dad54a6447a7 - - - - -] Will assume non-transactional DDL. {13} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.192984s] ... 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'}]} 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-3a839b06-a93d-4080-b689-0bb364338988 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-02-15T13:14:27.007600+00:00"} {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.070749s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.173878s] ... 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-6d93e4cb-de63-4558-866e-a2a202540065 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.\"}"} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.067808s] ... 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'}]} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-9eac8ec1-1e7b-4e2b-ad8c-79d9dca3a532 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-3c543963-3b3f-4924-b52b-0b4ad5a01968 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.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_cannot_send_create_port [0.115293s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.219499s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-562a835c-5829-4632-9480-2b9ffc80d5a9 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.\"}"} 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-e39b1869-a65d-4eb1-8c47-fbec358fe6a5 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-02-15T13:14:25.175220+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-02-15T13:14:25.175220+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'} PATCH: /v1/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05c04102-4bc0-45a5-87d7-0e035732b89e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "c020d410-89fc-4bc5-9b26-83f8a19d1412", "links": [{"href": "http://localhost/v1/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412", "rel": "self"}, {"href": "http://localhost/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412", "rel": "bookmark"}], "extra": {"a": "b"}, "created_at": "2018-02-15T13:14:25.534995+00:00", "updated_at": "2018-02-15T13:14:25.569190+00:00", "nodes": [{"href": "http://localhost/v1/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412/nodes", "rel": "bookmark"}], "description": null} GET: /v1/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412 {} GOT:{u'uuid': u'c020d410-89fc-4bc5-9b26-83f8a19d1412', u'links': [{u'href': u'http://localhost/v1/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412', u'rel': u'bookmark'}], u'extra': {u'a': u'b'}, u'created_at': u'2018-02-15T13:14:25.534995+00:00', u'updated_at': u'2018-02-15T13:14:25.569190+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c020d410-89fc-4bc5-9b26-83f8a19d1412/nodes', u'rel': u'bookmark'}], u'description': None} {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.091658s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.074574s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.137896s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.105847s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.091985s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.073245s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.136566s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-baad96a1-71b8-444c-a499-08b1fa416b50 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.069544s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.074519s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chasis_api_policy [0.075250s] ... ok GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'01587046-4126-49f9-a1dc-8b8ce7f1ea54', u'links': [{u'href': u'http://localhost/v1/chassis/01587046-4126-49f9-a1dc-8b8ce7f1ea54', u'rel': u'self'}, {u'href': u'http://localhost/chassis/01587046-4126-49f9-a1dc-8b8ce7f1ea54', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'533c3fdb-1e9e-4821-a56c-07f2837fc9ca', u'links': [{u'href': u'http://localhost/v1/chassis/533c3fdb-1e9e-4821-a56c-07f2837fc9ca', u'rel': u'self'}, {u'href': u'http://localhost/chassis/533c3fdb-1e9e-4821-a56c-07f2837fc9ca', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'964baa92-fd6a-46fc-8378-da82af181a2b', u'links': [{u'href': u'http://localhost/v1/chassis/964baa92-fd6a-46fc-8378-da82af181a2b', u'rel': u'self'}, {u'href': u'http://localhost/chassis/964baa92-fd6a-46fc-8378-da82af181a2b', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'2a672255-fcef-409a-bad1-41061df15952', u'links': [{u'href': u'http://localhost/v1/chassis/2a672255-fcef-409a-bad1-41061df15952', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2a672255-fcef-409a-bad1-41061df15952', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'91d700a8-7866-45ce-8867-7278754bf597', u'links': [{u'href': u'http://localhost/v1/chassis/91d700a8-7866-45ce-8867-7278754bf597', u'rel': u'self'}, {u'href': u'http://localhost/chassis/91d700a8-7866-45ce-8867-7278754bf597', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {11} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.069889s] ... 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-3f97a993-c72c-4083-b0c2-585c20a48689 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\": \"\"}"} {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.040409s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_init [0.088818s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-7247278a-39cd-488a-b3d6-b0521275f65f 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.api.controllers.v1.test_node.TestDelete.test_delete_node [0.088945s] ... ok POST: /v1/nodes/node-39/vifs {'id': 'ab02eb15-eb71-4ccf-97a0-98dd312d9051'} GOT:Response: 204 No Content Openstack-Request-Id: req-55c34a69-0760-4d19-b6e1-03e2fa55be99 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {12} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.072531s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '113d1f1a-661a-421a-8981-f6c0dfe1b5f8'} GOT:Response: 204 No Content Openstack-Request-Id: req-16431a90-fd10-4a85-b131-639a9203a3fd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.067095s] ... 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} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.161781s] ... ok 2018-02-15 13:14:25.423 13969 INFO alembic.runtime.migration [req-dfd36492-fbeb-4a07-9bdb-a83b120df514 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.423 13969 INFO alembic.runtime.migration [req-dfd36492-fbeb-4a07-9bdb-a83b120df514 - - - - -] Will assume non-transactional DDL. 2018-02-15 13:14:25.406 13967 INFO alembic.runtime.migration [req-115ea9c3-9514-4b16-a8c8-77660a1f6749 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.407 13967 INFO alembic.runtime.migration [req-115ea9c3-9514-4b16-a8c8-77660a1f6749 - - - - -] Will assume non-transactional DDL. {10} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.185809s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-263a1039-8399-4e07-be1a-946c9c4bf560 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.\"}"} {8} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.195601s] ... ok {10} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.027070s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.046430s] ... ok GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2ecc842f-6d27-4d84-9a23-755c28cb9e87 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\"}"} {4} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.036541s] ... ok PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-6dd63b16-1b0f-47c5-8f87-f39b161e2441 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.083922s] ... ok 2018-02-15 13:14:25.489 13984 INFO alembic.runtime.migration [req-33765445-4ba8-46e3-b2f4-01e7c4697cfa - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.490 13984 INFO alembic.runtime.migration [req-33765445-4ba8-46e3-b2f4-01e7c4697cfa - - - - -] Will assume non-transactional DDL. GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-836335e2-6556-45f6-8ab2-e37805ef4ffd 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\"}"} 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-b3bd3aa5-076c-4c2e-afe5-7863c3b93d14 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.\"}"} 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-ff40cceb-3dd2-4da7-8b51-04b70c6f8197 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.\"}"} 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-3f05e1a4-0571-4e4b-b9d6-83505f5973be 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-02-15T13:14:26.324887+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"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-615aca97-52f8-40a1-97d6-50c83e7781d1 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?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2917e341-17cc-4d49-9501-b77b560d9c08 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-57cfd5c2-6d96-4a03-88fe-7a5f34aac124 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\"}"} 2018-02-15 13:14:24.900 13980 INFO alembic.runtime.migration [req-20bfc9b1-8139-4c6c-85ba-3adfd1ecaf04 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:24.901 13980 INFO alembic.runtime.migration [req-20bfc9b1-8139-4c6c-85ba-3adfd1ecaf04 - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad05ea7f-619f-46da-88f0-cde1c9a89474 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.\"}"} 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-1c161b41-9097-4af1-9299-0046114f1ca4 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\"}"} {21} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.231578s] ... ok 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-92b221dd-f07b-4cb7-a75d-0c2ed389bb30 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\"}"} {25} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.117857s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.054434s] ... ok /usr/lib/python2.7/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert UcsConnectionError('Service unavailable, failed with error: %(error)s',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {8} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.048434s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.102923s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'foo': 123}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-7fa8027d-5ad7-4480-8cd9-a2ce3d96a730 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-02-15T13:14:25.315241+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-02-15T13:14:25.315241+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'} {30} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.068055s] ... 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,)) POST: /v1/heartbeat/f84ecb02-02df-4fca-9154-616c1ba77e76 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-95bc9eae-630c-4eaa-9016-246272515063 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.040081s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.014194s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.033731s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.013498s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs [0.014848s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_unknown_verbs [0.020735s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.013675s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.016860s] ... 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 "} {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.044945s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.079142s] ... 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-02-15T13:14:26.007168+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'}]} POST: /v1/chassis {'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/a03288b6-9c19-45d9-b857-cf65bbc06ff7 Openstack-Request-Id: req-d6e8f87e-a58a-4bfa-ba22-5a2cfea425d0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a03288b6-9c19-45d9-b857-cf65bbc06ff7", "links": [{"href": "http://localhost/v1/chassis/a03288b6-9c19-45d9-b857-cf65bbc06ff7", "rel": "self"}, {"href": "http://localhost/chassis/a03288b6-9c19-45d9-b857-cf65bbc06ff7", "rel": "bookmark"}], "extra": {}, "created_at": "2018-02-15T13:14:25.648252+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/a03288b6-9c19-45d9-b857-cf65bbc06ff7/nodes", "rel": "self"}, {"href": "http://localhost/chassis/a03288b6-9c19-45d9-b857-cf65bbc06ff7/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'a03288b6-9c19-45d9-b857-cf65bbc06ff7', u'links': [{u'href': u'http://localhost/v1/chassis/a03288b6-9c19-45d9-b857-cf65bbc06ff7', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a03288b6-9c19-45d9-b857-cf65bbc06ff7', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {25} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.026979s] ... 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-77867a9a-8d8b-4f1d-9772-b1e804beca56 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-02-15T13:14:29.017852+00:00"} 2018-02-15 13:14:25.038 13959 INFO alembic.runtime.migration [req-233b3846-9c7a-431d-8e06-73a2b759f142 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.039 13959 INFO alembic.runtime.migration [req-233b3846-9c7a-431d-8e06-73a2b759f142 - - - - -] Will assume non-transactional DDL. PATCH: /v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb31ee7d-954b-49f6-826c-4bbdbaae57f6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7d06b798-a160-4bf5-93a3-aaa2904f41ba", "links": [{"href": "http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba", "rel": "self"}, {"href": "http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo3": "bar3"}, "created_at": "2018-02-15T13:14:25.167411+00:00", "updated_at": "2018-02-15T13:14:25.199402+00:00", "nodes": [{"href": "http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba {} GOT:{u'uuid': u'7d06b798-a160-4bf5-93a3-aaa2904f41ba', u'links': [{u'href': u'http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo3': u'bar3'}, u'created_at': u'2018-02-15T13:14:25.167411+00:00', u'updated_at': u'2018-02-15T13:14:25.199402+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} PATCH: /v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df94da87-bd09-4e2e-a0c5-caedf6112269 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7d06b798-a160-4bf5-93a3-aaa2904f41ba", "links": [{"href": "http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba", "rel": "self"}, {"href": "http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba", "rel": "bookmark"}], "extra": {}, "created_at": "2018-02-15T13:14:25.167411+00:00", "updated_at": "2018-02-15T13:14:25.246908+00:00", "nodes": [{"href": "http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba {} GOT:{u'uuid': u'7d06b798-a160-4bf5-93a3-aaa2904f41ba', u'links': [{u'href': u'http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.167411+00:00', u'updated_at': u'2018-02-15T13:14:25.246908+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7d06b798-a160-4bf5-93a3-aaa2904f41ba/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} GET: /v1/nodes/detail?associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/97a42dcb-9c34-4659-8099-4e6efcc0afeb', u'rel': u'self'}, {u'href': u'http://localhost/nodes/97a42dcb-9c34-4659-8099-4e6efcc0afeb', 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'97a42dcb-9c34-4659-8099-4e6efcc0afeb', 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'98281b81-2641-412f-b86e-7107de1447ae', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:25.520600+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/97a42dcb-9c34-4659-8099-4e6efcc0afeb/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/97a42dcb-9c34-4659-8099-4e6efcc0afeb/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/76316bfc-75b1-487e-b5d0-0e12ff50b2e8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76316bfc-75b1-487e-b5d0-0e12ff50b2e8', 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'76316bfc-75b1-487e-b5d0-0e12ff50b2e8', 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'64097cb7-d73a-4adf-b89e-42f53c76323f', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:25.530209+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/76316bfc-75b1-487e-b5d0-0e12ff50b2e8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76316bfc-75b1-487e-b5d0-0e12ff50b2e8/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/696d14ad-f6d7-40d6-80ff-4b7c5ed13d17', u'rel': u'self'}, {u'href': u'http://localhost/nodes/696d14ad-f6d7-40d6-80ff-4b7c5ed13d17', 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'696d14ad-f6d7-40d6-80ff-4b7c5ed13d17', 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'5883c853-aca9-47bc-90fb-04ea375448f6', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:25.540325+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/696d14ad-f6d7-40d6-80ff-4b7c5ed13d17/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/696d14ad-f6d7-40d6-80ff-4b7c5ed13d17/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/c31495c1-44ea-43d6-b704-d99885b322a9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c31495c1-44ea-43d6-b704-d99885b322a9', 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'c31495c1-44ea-43d6-b704-d99885b322a9', 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'f968f14a-5380-4f5c-bac2-3221571b0de8', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:25.550451+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/c31495c1-44ea-43d6-b704-d99885b322a9/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c31495c1-44ea-43d6-b704-d99885b322a9/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?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dc015423-5d0a-46ea-b284-8d4f544b1e11 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\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.051171s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.082402s] ... 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-b882a65b-e15c-4751-accb-4a9163907f5c 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^.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.118395s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.078218s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.121525s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.345121s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.069509s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.231335s] ... 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-2ff56990-79e9-4cff-a1e6-a11ef78df805 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/node-39/vifs {'id': 'dc4ac143-7205-41c4-9822-dee29542bb22'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86f25273-86b5-4aa1-931d-9fb3b29734a4 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\"}"} PATCH: /v1/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-be4b918d-5cd7-43fa-93db-f1566571620d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8ee76d8a-cfa0-472a-b35b-9d943f4bff08", "links": [{"href": "http://localhost/v1/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08", "rel": "self"}, {"href": "http://localhost/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "created_at": "2018-02-15T13:14:25.476194+00:00", "updated_at": "2018-02-15T13:14:25.518082+00:00", "nodes": [{"href": "http://localhost/v1/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08/nodes", "rel": "self"}, {"href": "http://localhost/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08 {} GOT:{u'uuid': u'8ee76d8a-cfa0-472a-b35b-9d943f4bff08', u'links': [{u'href': u'http://localhost/v1/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'new value', u'foo3': u'bar3'}, u'created_at': u'2018-02-15T13:14:25.476194+00:00', u'updated_at': u'2018-02-15T13:14:25.518082+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8ee76d8a-cfa0-472a-b35b-9d943f4bff08/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {4} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.068511s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b50e8cf7-276e-445d-acac-2b3599e6c718 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\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.054436s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.026938s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.055151s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.056020s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.158498s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.093587s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value [0.015071s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_optional_key [0.013140s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs_fail [0.015807s] ... ok GET: /v1/nodes?resource_class=test {} GOT:{u'nodes': []} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs [0.014220s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.102745s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.012939s] ... 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': {}} 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-a8f3a693-3876-4a6f-81e5-305376d7483a 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\"}"} {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.063570s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/02a0321c-3f98-4c52-be85-73c2cbc7a2d4 GOT:Response: 204 No Content Openstack-Request-Id: req-d7722c81-a509-464b-ba37-770a283b1bb7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 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/61699f08-14d6-4748-a102-918ca1f41fae', u'rel': u'self'}, {u'href': u'http://localhost/nodes/61699f08-14d6-4748-a102-918ca1f41fae', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'61699f08-14d6-4748-a102-918ca1f41fae'}]} 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/7ec33c4b-8ad0-4b21-adc8-41e73677d2bd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7ec33c4b-8ad0-4b21-adc8-41e73677d2bd', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'deploying', u'uuid': u'7ec33c4b-8ad0-4b21-adc8-41e73677d2bd'}]} 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-02-15T13:14:25.720160+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.086559s] ... ok GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bb67b458-86ba-40fd-bc35-038a7ccb94e1 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\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.040139s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.086969s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-efad916f-6451-4a5f-9f69-11f97a155ea8 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\": \"\"}"} {21} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.053372s] ... ok GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8bd80fa4-1772-466b-8fab-b17f40c96f95 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.043814s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': u'\u0430\u043c\u043e', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-d3fd2449-1cd5-4792-837d-9ede64c31aae 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-02-15T13:14:25.313841+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-02-15T13:14:25.313841+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'} {8} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.107579s] ... ok GET: /v1/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', 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'4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', 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-02-15T13:14:26.126121+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8/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/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', 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'4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', 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-02-15T13:14:26.126121+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8/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/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', 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'4b3acda9-6506-41ab-bc4c-ae6e533cb0d8', 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-02-15T13:14:26.126121+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b3acda9-6506-41ab-bc4c-ae6e533cb0d8/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.188240s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4c6d088b-480c-4155-bf53-6ec87b765420 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.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.054423s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.227930s] ... 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/9004697d-3a07-4333-9b0a-38373ba83a21', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9004697d-3a07-4333-9b0a-38373ba83a21', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9004697d-3a07-4333-9b0a-38373ba83a21'}, {u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/c24c30f1-8753-4d40-892d-c37b8268cdfd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c24c30f1-8753-4d40-892d-c37b8268cdfd', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c24c30f1-8753-4d40-892d-c37b8268cdfd'}]} GET: /v1/nodes?maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f50d7299-fe59-4ba1-a21f-70c57760d99c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f50d7299-fe59-4ba1-a21f-70c57760d99c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f50d7299-fe59-4ba1-a21f-70c57760d99c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/bf3154c0-7280-4e08-8746-53ee9b64bd19', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bf3154c0-7280-4e08-8746-53ee9b64bd19', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'bf3154c0-7280-4e08-8746-53ee9b64bd19'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/bf8d705c-3632-40ed-a413-2e0585879e95', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bf8d705c-3632-40ed-a413-2e0585879e95', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'bf8d705c-3632-40ed-a413-2e0585879e95'}]} {20} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.351433s] ... 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-65dbb77a-8efb-4a8d-a785-5ed9a384c819 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'\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.096162s] ... 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-75345902-9b42-4af6-b614-f0997b2a3d78 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\\\"\"}"} {13} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.041039s] ... ok 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'} {13} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.093842s] ... 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-02-15T13:14:25.741775+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'}]} {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.086895s] ... 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-ac4a54aa-f888-4e09-99d6-64d0697a19ec 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-02-15T13:14:27.214597+00:00"} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.127652s] ... 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-45257fda-fc2a-48b5-bfb2-2550a1716bbf 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-02-15T13:14:25.818591+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"}]} 2018-02-15 13:14:25.802 13968 INFO alembic.runtime.migration [req-d8d6c15b-a1e6-45dc-993e-1438674bd5cf - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.803 13968 INFO alembic.runtime.migration [req-d8d6c15b-a1e6-45dc-993e-1438674bd5cf - - - - -] Will assume non-transactional DDL. GET: /v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54 {} GOT:{u'uuid': u'2c6679ba-cdff-41e2-872a-572a01d48f54', u'links': [{u'href': u'http://localhost/v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.964789+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54 {} GOT:{u'uuid': u'2c6679ba-cdff-41e2-872a-572a01d48f54', u'links': [{u'href': u'http://localhost/v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.964789+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/2c6679ba-cdff-41e2-872a-572a01d48f54 {} GOT:{u'uuid': u'2c6679ba-cdff-41e2-872a-572a01d48f54', u'links': [{u'href': u'http://localhost/v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.964789+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/2c6679ba-cdff-41e2-872a-572a01d48f54/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/drivers/fake-driver1/vendor_passthru/do_test {} GOT:foo 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-2efa8e50-28a1-43c7-b76e-d7a20d223f71 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 ''\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.080147s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.121398s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '251035dd-8aa6-4e83-84a4-d1625e68702c'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7d91e124-66c8-4fdf-98a1-2bae1edeabff 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.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.382886s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.065100s] ... ok GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-85c785ab-30bf-4cb9-b26b-217e168622f3 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.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.123213s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-d073b9f7-2c84-4001-a233-0066351b8162 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-02-15T13:14:25.378954+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-02-15T13:14:25.378954+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'} {30} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.063398s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.077723s] ... 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-02-15T13:14:25.325279+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-02-15T13:14:25.325279+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.193900s] ... ok GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e7906cd9-c1d9-47aa-b737-4d3683c002b4 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'\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.044901s] ... 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-c1e6dd73-7334-45df-aa06-764483be5713 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\"}"} {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.058924s] ... 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-ac6c2f41-780f-47b2-a809-4d6d36cf895e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {21} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.078804s] ... 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-bccce28c-a613-420f-a072-50a9efdb79f6 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-02-15T13:14:27.336289+00:00"} {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.124412s] ... 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-4c0fed3d-bd7c-4153-87af-cb73636a4582 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-02-15T13:14:25.912075+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": "******"}} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.140498s] ... ok 2018-02-15 13:14:25.192 13983 INFO alembic.runtime.migration [req-eeec81d9-ee2a-4c44-89c6-f5e983469f96 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:25.193 13983 INFO alembic.runtime.migration [req-eeec81d9-ee2a-4c44-89c6-f5e983469f96 - - - - -] Will assume non-transactional DDL. 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'}]} {24} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.442079s] ... 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-e4cf6c05-1548-4a22-ae63-02680aa0f1b2 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-02-15T13:14:26.710721+00:00", "updated_at": "2018-02-15T13:14:26.718210+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} 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-0f110674-96cf-472a-9123-d95d466acdb8 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.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.095291s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.066110s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '6e7ae5dc-5592-4704-b029-dbb2b60db0fa', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'a6dc98ce-07d1-45ba-bb64-ddd51c6c4465', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2134570e-26a0-4bb1-bbd0-b79e3d9d7247 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": "a6dc98ce-07d1-45ba-bb64-ddd51c6c4465", "updated_at": "2018-02-15T13:14:26.852159+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-02-15T13:14:26.773835+00:00"} {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.137296s] ... ok DELETE: /v1/portgroups/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-db0d2c2f-fa7c-4522-9a36-275ac131ac75 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.075141s] ... 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-3d587be7-9acf-4477-ad87-f0f6930f8c5d 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.055571s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.140566s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.109663s] ... ok DELETE: /v1/nodes/doesntexist/vifs/9a28e3e4-b0c0-414f-8587-898e29f0aedc GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe40f701-423c-4488-a0a8-6341a46dbde5 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.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.093573s] ... ok GET: /v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70 {} GOT:{u'uuid': u'00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'links': [{u'href': u'http://foo/v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'rel': u'self'}, {u'href': u'http://foo/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.599167+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70 {} GOT:{u'uuid': u'00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'links': [{u'href': u'http://foo/v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'rel': u'self'}, {u'href': u'http://foo/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.599167+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70 {} GOT:{u'uuid': u'00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'links': [{u'href': u'http://foo/v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'rel': u'self'}, {u'href': u'http://foo/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:25.599167+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/00e08482-ecd6-40ac-92d7-43c2bcaeaf70/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {10} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.142378s] ... 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-e3117065-8346-4b12-a55d-b9916eca19e5 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.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.071818s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': []} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.056577s] ... 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-a683897e-4ba1-4440-8c5d-d9c67187a7dc 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-bde2273e-4129-49c0-bcde-f4cdff4e705e 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\\\".\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.141102s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.026523s] ... 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-ebd0a401-3b59-454b-a180-3bd5fb622cc4 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.056130s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'maintenance', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-133dcaac-3fd3-492f-b31c-6f3a1ceab96a 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-cb978152-59a7-45cf-b029-b07f86f16dee 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-c5ccf812-674d-477b-bae9-7f970f13f79d 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-ace95da3-05db-4fdc-90c9-62d98c9d754c 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-02edeef0-1ab2-4975-b798-d60942f8d405 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-5ca83cc2-9d45-4a61-902d-f01f5935bfa9 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.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.246456s] ... 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.103303s] ... 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-3eb1a1e0-c548-4235-91b5-ad807b6f5e0c 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.050407s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.034667s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-717b311e-25ed-4395-9a51-b717a276c169 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.064693s] ... ok GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f480f894-e613-4114-a86c-0dbb441534d5 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.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.054313s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-024ee284-bcce-4c44-be86-84ebf08013e9 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.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.068539s] ... ok DELETE: /v1/nodes/foo.1 GOT:Response: 204 No Content Openstack-Request-Id: req-191fb868-e89c-492f-830f-6a0e8256f422 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.v1.test_node.TestDelete.test_delete_node_by_name [0.070357s] ... 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/b01c528f-b72d-4d0e-8f30-0f7ee95d89ed', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b01c528f-b72d-4d0e-8f30-0f7ee95d89ed', 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/b01c528f-b72d-4d0e-8f30-0f7ee95d89ed/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b01c528f-b72d-4d0e-8f30-0f7ee95d89ed/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'b01c528f-b72d-4d0e-8f30-0f7ee95d89ed', 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-02-15T13:14:26.308753+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/b01c528f-b72d-4d0e-8f30-0f7ee95d89ed/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b01c528f-b72d-4d0e-8f30-0f7ee95d89ed/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/d4171da8-71d2-49ba-87fc-05b106e8c6b0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d4171da8-71d2-49ba-87fc-05b106e8c6b0', 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/d4171da8-71d2-49ba-87fc-05b106e8c6b0/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d4171da8-71d2-49ba-87fc-05b106e8c6b0/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'd4171da8-71d2-49ba-87fc-05b106e8c6b0', 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-02-15T13:14:26.318466+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/d4171da8-71d2-49ba-87fc-05b106e8c6b0/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d4171da8-71d2-49ba-87fc-05b106e8c6b0/ports', u'rel': u'bookmark'}]}]} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.238966s] ... 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-02-15T13:14:26.469710+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'}]} {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.111025s] ... ok GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} {9} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.037200s] ... 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-687b241f-e0fa-4154-a5ea-80fe29c6bba3 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-02-15T13:14:29.297286+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': '985672e5-c01c-4f8e-a99c-b9e3298fdba5', 'connector_id': 'test-connector-id-456'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a538564b-7c2c-4578-8fdc-da50c4d1a301 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.118027s] ... 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-ea084680-cefa-4cb4-a808-38b4da14e75e 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': '416a36bf-d47f-4945-9f20-1d1d1f3f2f34'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/416a36bf-d47f-4945-9f20-1d1d1f3f2f34 Openstack-Request-Id: req-df1f4490-97ae-4d6d-aa38-fc31723f9a3a 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/416a36bf-d47f-4945-9f20-1d1d1f3f2f34", "rel": "self"}, {"href": "http://localhost/nodes/416a36bf-d47f-4945-9f20-1d1d1f3f2f34", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "416a36bf-d47f-4945-9f20-1d1d1f3f2f34", "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/416a36bf-d47f-4945-9f20-1d1d1f3f2f34/ports", "rel": "self"}, {"href": "http://localhost/nodes/416a36bf-d47f-4945-9f20-1d1d1f3f2f34/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/416a36bf-d47f-4945-9f20-1d1d1f3f2f34 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/416a36bf-d47f-4945-9f20-1d1d1f3f2f34', u'rel': u'self'}, {u'href': u'http://localhost/nodes/416a36bf-d47f-4945-9f20-1d1d1f3f2f34', 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'416a36bf-d47f-4945-9f20-1d1d1f3f2f34', 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/416a36bf-d47f-4945-9f20-1d1d1f3f2f34/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/416a36bf-d47f-4945-9f20-1d1d1f3f2f34/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_create_node_chassis_uuid_always_in_response [0.238700s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7f298d68-1c0c-40d0-9a23-a4b1907482d7 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'\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.097174s] ... 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-c851b368-6b49-4e34-8ae4-383863348e6a 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'].\"}"} 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/ffa7c1ca-29dc-46b8-9a46-0d68696c1af7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ffa7c1ca-29dc-46b8-9a46-0d68696c1af7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ffa7c1ca-29dc-46b8-9a46-0d68696c1af7'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7c0fc4de-ae1d-43a5-ad0a-8f3efde4a3cf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7c0fc4de-ae1d-43a5-ad0a-8f3efde4a3cf', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7c0fc4de-ae1d-43a5-ad0a-8f3efde4a3cf'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=2&marker=7c0fc4de-ae1d-43a5-ad0a-8f3efde4a3cf'} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} {30} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.074625s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'42b7edf5-4f52-4ae9-8ed9-22b9c217bd17', u'links': [{u'href': u'http://localhost/v1/volume/targets/42b7edf5-4f52-4ae9-8ed9-22b9c217bd17', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/42b7edf5-4f52-4ae9-8ed9-22b9c217bd17', 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'58b8b800-515d-4b3b-8166-271d3234e4f2', u'links': [{u'href': u'http://localhost/v1/volume/targets/58b8b800-515d-4b3b-8166-271d3234e4f2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/58b8b800-515d-4b3b-8166-271d3234e4f2', 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'42b7edf5-4f52-4ae9-8ed9-22b9c217bd17', u'links': [{u'href': u'http://localhost/v1/volume/targets/42b7edf5-4f52-4ae9-8ed9-22b9c217bd17', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/42b7edf5-4f52-4ae9-8ed9-22b9c217bd17', 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=42b7edf5-4f52-4ae9-8ed9-22b9c217bd17'} {24} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.177217s] ... 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-46b75c2b-86c6-4f27-9818-c7cb9f8474a4 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-02-15T13:14:29.419929+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.091761s] ... 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-755684b4-414a-4541-9065-5592940848e2 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\"}"} {10} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.044273s] ... ok GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-06865b66-569f-41fb-9848-a25dace3f918 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/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-f2ec60e6-b535-4cbb-b08a-ceeb3af343dd 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\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.078615s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.013397s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class [0.014966s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.099769s] ... ok GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-99f37aa8-8bf4-40e1-a496-96558e7c22d1 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.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.054087s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.064945s] ... 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-56f4bfe2-b2fe-4978-b79f-8a51e615dd55 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-98130702-df80-4132-ad05-1fc3a270c99a 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).\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.073389s] ... 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-e9710a36-90f1-4b65-9064-a7e0b398eb11 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\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.120828s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.013632s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2d148eec-186d-4498-9a94-b471acb61a87 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.072258s] ... ok GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4cebefa7-42c8-4139-8c7e-a66ef7a02ada 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.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.044099s] ... 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-02-15T13:14:29.480860+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.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.080903s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestVolumeTargetObject.test_volume_target_init [0.013982s] ... 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-347123cb-7369-409f-afc6-2d289fa1e412 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-836fa592-7d69-4ff0-84a8-c041b3821646 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.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.093453s] ... 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'}]} {9} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.250336s] ... 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/50e51755-6ce7-41b8-baf8-5fe8daa845a1 Openstack-Request-Id: req-0ec92e5f-d139-4b61-a225-e0d3012b70e8 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": "50e51755-6ce7-41b8-baf8-5fe8daa845a1", "links": [{"href": "http://localhost/v1/volume/connectors/50e51755-6ce7-41b8-baf8-5fe8daa845a1", "rel": "self"}, {"href": "http://localhost/volume/connectors/50e51755-6ce7-41b8-baf8-5fe8daa845a1", "rel": "bookmark"}], "extra": {}, "created_at": "2018-02-15T13:14:26.858769+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/50e51755-6ce7-41b8-baf8-5fe8daa845a1 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'50e51755-6ce7-41b8-baf8-5fe8daa845a1', u'links': [{u'href': u'http://localhost/v1/volume/connectors/50e51755-6ce7-41b8-baf8-5fe8daa845a1', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/50e51755-6ce7-41b8-baf8-5fe8daa845a1', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:26.858769+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} 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-7e827c72-2494-4fe0-a6bf-4242a219e61b 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.141692s] ... 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-1e08de9f-bafb-4afc-805d-bc81bf9f7ded 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-02-15T13:14:26.319472+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-02-15T13:14:26.319472+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_with_chassis_uuid [0.140651s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.090129s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c200f3ab-5293-4d3c-b382-742efc9d7795 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-02-15T13:14:26.025335+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_remove_ok [0.121567s] ... 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-17ce5452-3191-4bb7-a478-68f43ab25994 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.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.099136s] ... ok GET: /v1/drivers {} GOT:{u'drivers': []} {11} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.047071s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.053275s] ... 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'ed3ac45d-d69f-41ac-97d5-93ea4bb879b6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ed3ac45d-d69f-41ac-97d5-93ea4bb879b6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ed3ac45d-d69f-41ac-97d5-93ea4bb879b6', 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'bfe5f3ad-1fd1-4359-ac14-fb402252a3d4', u'links': [{u'href': u'http://localhost/v1/volume/connectors/bfe5f3ad-1fd1-4359-ac14-fb402252a3d4', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/bfe5f3ad-1fd1-4359-ac14-fb402252a3d4', 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'8f9cfb65-1421-423d-b928-970fb103d9db', u'links': [{u'href': u'http://localhost/v1/volume/connectors/8f9cfb65-1421-423d-b928-970fb103d9db', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/8f9cfb65-1421-423d-b928-970fb103d9db', u'rel': u'bookmark'}], u'connector_id': u'test-value-2'}]} {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.120728s] ... ok PATCH: /v1/nodes/9362a206-e870-434a-ba34-219ecd3051fe [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-34b27818-2110-49ff-8257-3aa1519f9ed9 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/9362a206-e870-434a-ba34-219ecd3051fe", "rel": "self"}, {"href": "http://localhost/nodes/9362a206-e870-434a-ba34-219ecd3051fe", "rel": "bookmark"}], "target_provision_state": "active", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "9362a206-e870-434a-ba34-219ecd3051fe", "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-02-15T13:14:25.481915+00:00", "ports": [{"href": "http://localhost/v1/nodes/9362a206-e870-434a-ba34-219ecd3051fe/ports", "rel": "self"}, {"href": "http://localhost/nodes/9362a206-e870-434a-ba34-219ecd3051fe/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {21} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.116825s] ... 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'} {31} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.121461s] ... 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-fe7edf6d-4d3d-4448-b924-82ab895df6d1 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\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.068040s] ... ok POST: /v1/nodes/doesntexist/vifs {'id': '662489e7-18ad-4f58-8ba7-002dc3d8d965'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7f12850-234c-4111-a13f-c72becff1b6b 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.094117s] ... ok GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-57fea14b-9278-4197-bb7f-d752327b95c0 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'\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.119275s] ... 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-5b30b2ff-d01e-4cd4-b105-e90838f4a0c2 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-02-15T13:14:25.803084+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": "******"}} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.114327s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.067264s] ... ok PATCH: /v1/nodes/c6129e89-83ac-447f-a8d8-6777bc8b3f1e [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0dbdd573-b109-4023-953a-069deb782442 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/c6129e89-83ac-447f-a8d8-6777bc8b3f1e", "rel": "self"}, {"href": "http://localhost/nodes/c6129e89-83ac-447f-a8d8-6777bc8b3f1e", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "c6129e89-83ac-447f-a8d8-6777bc8b3f1e", "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-02-15T13:14:26.712223+00:00", "ports": [{"href": "http://localhost/v1/nodes/c6129e89-83ac-447f-a8d8-6777bc8b3f1e/ports", "rel": "self"}, {"href": "http://localhost/nodes/c6129e89-83ac-447f-a8d8-6777bc8b3f1e/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.121785s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.025871s] ... ok 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-6c723c54-257a-4c8a-bddd-29607c398c90 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'\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.080879s] ... 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-02-15T13:14:26.617654+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'aa:bb_cc'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-569d671c-26f8-4ae3-9f16-7465aeee3001 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'\"}"} {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.124752s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.218263s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{u'vifs': []} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-c311e3e1-de80-4c40-8457-cf58f155cfc3 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/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-02-15T13:14:25.899562+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-02-15T13:14:25.899562+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'}]} {25} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.169172s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7dc810aa-cfae-4f8a-9108-799fa783c166 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-02-15T13:14:25.658419+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": "******"}} {21} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.113882s] ... 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-f9680a47-890a-4dbb-9c82-c37cb1a86c1b 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.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.045280s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.091054s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.021265s] ... 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-73f0d8e0-3ce7-4bb0-8d1c-fb86bc368413 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.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.097766s] ... 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-02-15T13:14:26.005421+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-02-15T13:14:26.005421+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_hide_fields_in_newer_versions_volume [0.147301s] ... 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-d628d4c1-7eee-424f-a442-f82ae6abc5ba 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-02-15T13:14:25.949098+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-02-15T13:14:25.949098+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'}]} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.131935s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7bc8d2bb-e129-48ba-accd-91b35f1260ed 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.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-cf53917c-3d91-4e87-8a16-dd9e733e5fc5 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_node.TestPut.test_set_boot_device [0.068595s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-630cf7d9-37d6-4576-9e16-4c28b64cd2a2 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).\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.067076s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.100854s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_node.TestNodeObject.test_node_init [0.014736s] ... 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-4916a18c-addf-4011-82fb-e4c4dd785e5c 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.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.082283s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.062718s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface [0.014181s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.012505s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-15284735-0f6a-4e1f-a64c-0a7292f2a813 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_node.TestListNodes.test_validate_by_name_unsupported [0.117078s] ... ok GET: /v1/nodes?associated=true {} GOT:{u'nodes': [{u'instance_uuid': u'ea339494-3f9f-425c-aee8-c3d179b7e8f1', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a6e5aa0e-3842-4fcb-8f8e-4a98bd5eacb7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a6e5aa0e-3842-4fcb-8f8e-4a98bd5eacb7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a6e5aa0e-3842-4fcb-8f8e-4a98bd5eacb7'}, {u'instance_uuid': u'7763bf3d-1be8-444d-83a5-b12faf14850d', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b21e2c16-5fc8-4a24-ba85-63ba2891d9f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b21e2c16-5fc8-4a24-ba85-63ba2891d9f2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b21e2c16-5fc8-4a24-ba85-63ba2891d9f2'}, {u'instance_uuid': u'24d8df4f-80e5-49df-a508-de0098ce0dae', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ad009aa3-1e95-4e02-9733-f5a6efd8e35c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ad009aa3-1e95-4e02-9733-f5a6efd8e35c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ad009aa3-1e95-4e02-9733-f5a6efd8e35c'}, {u'instance_uuid': u'11440f57-e91b-49c7-8cff-04b2764007fa', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/04d3fd94-9751-47d7-980e-791a4fa9587c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/04d3fd94-9751-47d7-980e-791a4fa9587c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'04d3fd94-9751-47d7-980e-791a4fa9587c'}]} GET: /v1/nodes?associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'ea339494-3f9f-425c-aee8-c3d179b7e8f1', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a6e5aa0e-3842-4fcb-8f8e-4a98bd5eacb7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a6e5aa0e-3842-4fcb-8f8e-4a98bd5eacb7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a6e5aa0e-3842-4fcb-8f8e-4a98bd5eacb7'}, {u'instance_uuid': u'7763bf3d-1be8-444d-83a5-b12faf14850d', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b21e2c16-5fc8-4a24-ba85-63ba2891d9f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b21e2c16-5fc8-4a24-ba85-63ba2891d9f2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b21e2c16-5fc8-4a24-ba85-63ba2891d9f2'}, {u'instance_uuid': u'24d8df4f-80e5-49df-a508-de0098ce0dae', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ad009aa3-1e95-4e02-9733-f5a6efd8e35c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ad009aa3-1e95-4e02-9733-f5a6efd8e35c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ad009aa3-1e95-4e02-9733-f5a6efd8e35c'}, {u'instance_uuid': u'11440f57-e91b-49c7-8cff-04b2764007fa', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/04d3fd94-9751-47d7-980e-791a4fa9587c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/04d3fd94-9751-47d7-980e-791a4fa9587c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'04d3fd94-9751-47d7-980e-791a4fa9587c'}]} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.396034s] ... 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-02-15T13:14:26.056834+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?sort_key=resource_class {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/a2afd10f-9293-4303-983e-4cac90759b26', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a2afd10f-9293-4303-983e-4cac90759b26', 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/a2afd10f-9293-4303-983e-4cac90759b26/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a2afd10f-9293-4303-983e-4cac90759b26/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'a2afd10f-9293-4303-983e-4cac90759b26', 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-02-15T13:14:25.770378+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/a2afd10f-9293-4303-983e-4cac90759b26/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a2afd10f-9293-4303-983e-4cac90759b26/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/09fa5390-3804-47e1-9be4-2ea1fe1488c5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/09fa5390-3804-47e1-9be4-2ea1fe1488c5', 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/09fa5390-3804-47e1-9be4-2ea1fe1488c5/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/09fa5390-3804-47e1-9be4-2ea1fe1488c5/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'09fa5390-3804-47e1-9be4-2ea1fe1488c5', 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-02-15T13:14:25.759607+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/09fa5390-3804-47e1-9be4-2ea1fe1488c5/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/09fa5390-3804-47e1-9be4-2ea1fe1488c5/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/e32fbd6c-da3c-4366-b63e-2988f33616af', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e32fbd6c-da3c-4366-b63e-2988f33616af', 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/e32fbd6c-da3c-4366-b63e-2988f33616af/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e32fbd6c-da3c-4366-b63e-2988f33616af/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'e32fbd6c-da3c-4366-b63e-2988f33616af', 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-02-15T13:14:25.734630+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/e32fbd6c-da3c-4366-b63e-2988f33616af/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e32fbd6c-da3c-4366-b63e-2988f33616af/ports', u'rel': u'bookmark'}]}]} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.221909s] ... 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.073192s] ... 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'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-02-15T13:14:25.558236+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'}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.129635s] ... 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-32249e2d-f06a-49cb-b6e9-15c53e907bd5 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\\\".\"}"} {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.070284s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.155326s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} GOT:{u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}} GET: /v1/nodes?driver=test {} GOT:{u'nodes': []} {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.102530s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f65d191b-9802-41d5-9f87-940b131150c5 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.038780s] ... 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-be74a741-a2a7-4e0c-9d73-ebaa2a845a1e 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.\"}"} 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-a52e2b4b-f363-461e-9069-d6d18a08e0a5 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.\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} 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-41e0826a-7895-4a6a-b0c6-6f757eb11bb5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-7b400c16-3731-4697-9b78-457faf5394f9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 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-67e27561-bd94-46c9-b640-64b78bcddda3 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\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.069268s] ... ok GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.121324s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-eeae752e-0ca5-4c1b-a1db-ac2e12947c54 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.TestListNodes.test_get_nodes_by_invalid_driver [0.078963s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.023830s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.069254s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.093808s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.068343s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.050839s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.071309s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9f639fa-c969-4774-b293-a8c6e3a068d9 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\\\".\"}"} 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-02-15T13:14:26.156144+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'}]} 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-b064afcc-4aab-4982-91f8-d6cd585ed9e4 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.\"}"} {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.087052s] ... ok {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.039278s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a28f269-e696-4406-b515-ddaed3f3ec8f 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\\\"\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.070020s] ... 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-3ceb348b-b460-45cd-bdd9-c024adbbf4d4 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-02-15T13:14:26.163351+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"}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.064879s] ... ok GET: /v1/nodes/detail?instance_uuid=aa8da817-e7b0-4474-ae5d-8c230a23061e {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/2d604a6a-1b41-4c01-b964-185f73a90ac8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2d604a6a-1b41-4c01-b964-185f73a90ac8', 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'2d604a6a-1b41-4c01-b964-185f73a90ac8', 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'aa8da817-e7b0-4474-ae5d-8c230a23061e', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:25.996627+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/2d604a6a-1b41-4c01-b964-185f73a90ac8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2d604a6a-1b41-4c01-b964-185f73a90ac8/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'******'}}]} PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d76c4ce2-e24f-491f-b5d3-92cea75e4d39 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.\"}"} 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-5e9a49e0-094d-4bcf-bf1f-3026f91105fb 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\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ssh_creds_masked [0.092495s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.083206s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.079453s] ... ok GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:26.764454+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {16} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.125448s] ... 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-5df510dc-0e81-452b-a5b6-d59c88b21c82 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\\\".\"}"} {4} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.117077s] ... 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-70d1da53-4bbc-4ecd-a4ed-c82040d0fba6 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.\"}"} {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.075010s] ... 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-0ae035ed-462b-41c1-b443-739d5f9c2faa 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-02-15T13:14:26.209520+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_root [0.189860s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ac514a3c-7aca-44cb-b1df-d26f8efd00c9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ac514a3c-7aca-44cb-b1df-d26f8efd00c9', u'rel': u'bookmark'}], u'name': u'node-0', u'power_state': None, u'provision_state': u'available', u'uuid': u'ac514a3c-7aca-44cb-b1df-d26f8efd00c9'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5e9bbd47-d601-4b1b-847d-f40f2c3c458f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5e9bbd47-d601-4b1b-847d-f40f2c3c458f', u'rel': u'bookmark'}], u'name': u'node-1', u'power_state': None, u'provision_state': u'available', u'uuid': u'5e9bbd47-d601-4b1b-847d-f40f2c3c458f'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/36bcf61c-8023-4760-9830-b6aaaa9d039e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/36bcf61c-8023-4760-9830-b6aaaa9d039e', u'rel': u'bookmark'}], u'name': u'node-2', u'power_state': None, u'provision_state': u'available', u'uuid': u'36bcf61c-8023-4760-9830-b6aaaa9d039e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6aaf2573-62e0-4479-b7c1-dd2ce4147959', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6aaf2573-62e0-4479-b7c1-dd2ce4147959', u'rel': u'bookmark'}], u'name': u'node-3', u'power_state': None, u'provision_state': u'available', u'uuid': u'6aaf2573-62e0-4479-b7c1-dd2ce4147959'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9e1df32c-dccc-445b-9d40-c6111f280b90', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9e1df32c-dccc-445b-9d40-c6111f280b90', u'rel': u'bookmark'}], u'name': u'node-4', u'power_state': None, u'provision_state': u'available', u'uuid': u'9e1df32c-dccc-445b-9d40-c6111f280b90'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.244831s] ... 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-39d27ebc-73d7-4270-894e-2081b87e4560 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.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.067089s] ... 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-045fc5e9-8f02-428a-bb89-c6d624bf885e 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-02-15T13:14:25.902131+00:00", "updated_at": "2018-02-15T13:14:25.954161+00:00", "address": "52:54:00:cf:2d:31"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.106801s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.087322s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-5c8a4342-6db0-40cd-bee7-2d86fdb37425 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.074964s] ... 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-f8832841-63d4-472a-8c3c-61c6d84e568c 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'}]} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.219468s] ... 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-4cc94beb-4b2d-4a65-9055-523b24ad7b43 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.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.055017s] ... ok PATCH: /v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8de43334-f8e9-4b13-a662-d3b8e4da1ed2 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-504e5b53-4ed5-4ea6-9037-b4cfa0afb8bd 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51f48d35-66a7-4c59-ad74-e0de7bc2e197 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7fa68cd4-b112-41f2-ae5d-7da01a7779d2 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cde18915-703c-4388-a2b9-eaca0b274b18 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cee84db3-f29f-4de4-8a95-f2e65c1fa92e 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19b5a523-ef38-40c5-8f91-ba50dc6e48ee 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbd2f02c-b472-4b66-b72f-40d58f8bb3fd 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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "508e9c32-7ef8-4307-a3b4-ac64fdec0cd8", "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/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/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-02-15T13:14:26.168828+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/508e9c32-7ef8-4307-a3b4-ac64fdec0cd8/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} 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-7488dfa2-26ee-4c47-b8ed-18b464159560 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {6} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.073883s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.120024s] ... 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-f6d8332d-bc0e-4803-820c-27acad271592 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'\"}"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.064232s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.020983s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.054407s] ... 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 "} {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.037855s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.066586s] ... ok GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-921f2700-227d-4348-83dd-aaac21d8d917 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\\\"\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.043238s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.508072s] ... 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-6827d50a-0765-4796-94e8-297c96f69f08 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-02-15T13:14:26.910846+00:00", "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-02-15T13:14:26.845580+00:00"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.130558s] ... 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-ae97076f-c12d-4335-9436-0cd39ca6e447 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\"}"} PATCH: /v1/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd9b4330-5c63-43c3-b05f-96903e4a9f7e 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/d0a7919b-6a15-48ef-ad43-0f1288bc34b3", "rel": "self"}, {"href": "http://localhost/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/states", "rel": "self"}, {"href": "http://localhost/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d0a7919b-6a15-48ef-ad43-0f1288bc34b3", "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/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/volume", "rel": "self"}, {"href": "http://localhost/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/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-02-15T13:14:26.901089+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/ports", "rel": "self"}, {"href": "http://localhost/nodes/d0a7919b-6a15-48ef-ad43-0f1288bc34b3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.115369s] ... 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-3e4670fc-3053-4f61-8a54-3d8f90f89535 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\"}"} {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.071254s] ... 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-1dd965e0-f2c3-4b39-aa5e-177aa07f80c2 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_node.TestPatch.test_update_fails_bad_driver [0.126058s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a60615bc-d9ad-47e7-907b-a65e72a8e8f8 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.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.059842s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'49bf7cf7-e347-4e08-83ab-89e3f021b139', u'links': [{u'href': u'http://localhost/v1/volume/connectors/49bf7cf7-e347-4e08-83ab-89e3f021b139', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/49bf7cf7-e347-4e08-83ab-89e3f021b139', 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'cae7c940-059f-4860-b59f-ece22ebfb1e9', u'links': [{u'href': u'http://localhost/v1/volume/connectors/cae7c940-059f-4860-b59f-ece22ebfb1e9', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/cae7c940-059f-4860-b59f-ece22ebfb1e9', 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'16e9b32b-0be2-4ab5-99b6-817eac8ea261', u'links': [{u'href': u'http://localhost/v1/volume/connectors/16e9b32b-0be2-4ab5-99b6-817eac8ea261', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/16e9b32b-0be2-4ab5-99b6-817eac8ea261', 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=16e9b32b-0be2-4ab5-99b6-817eac8ea261'} {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.121827s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.050771s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.079819s] ... 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-04c2ebdc-e480-4a7b-b247-9c7b8ed0439b 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\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.086490s] ... 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'}]} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.093201s] ... 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-efef31a9-0409-4999-9613-ee65d0df1d69 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b95a4320-a0af-4c44-8f28-f0f71fbd89a2 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.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.091550s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-841dd91b-e40c-4eaa-9b7b-624bf63d7338 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} 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-fbf0657e-ead2-4e1a-8f96-528d9525d1a5 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.\"}"} PATCH: /v1/nodes/70bc8a03-4114-4cc2-9a6c-200978771c09 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e8ad0e7-a00e-4cc1-8e0a-6695f6e11b85 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/70bc8a03-4114-4cc2-9a6c-200978771c09", "rel": "self"}, {"href": "http://localhost/nodes/70bc8a03-4114-4cc2-9a6c-200978771c09", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/70bc8a03-4114-4cc2-9a6c-200978771c09/states", "rel": "self"}, {"href": "http://localhost/nodes/70bc8a03-4114-4cc2-9a6c-200978771c09/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "70bc8a03-4114-4cc2-9a6c-200978771c09", "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-02-15T13:14:26.301399+00:00", "ports": [{"href": "http://localhost/v1/nodes/70bc8a03-4114-4cc2-9a6c-200978771c09/ports", "rel": "self"}, {"href": "http://localhost/nodes/70bc8a03-4114-4cc2-9a6c-200978771c09/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.114531s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c253c11d-b27d-40d3-a4a9-f5f3bb07c4e0 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.\"}"} {14} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.094857s] ... 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-d08847e9-2879-4438-942e-0552f8019266 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {24} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.067033s] ... 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.090990s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.134276s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.035992s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.092386s] ... ok {5} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.038731s] ... ok {5} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.026983s] ... 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': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d085bad0-6671-42da-90f4-c0a6d5b1cddb 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-f73db2e7-80bc-4577-95b2-84bdc327f56d 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-d02071e0-ab75-4887-8a36-2d7b6f8f2c3c 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-e51ff71e-702c-4f1e-8c46-52fe3c7aa52d 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-ad5a5a56-77ce-42d9-a641-e09e000079d8 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-6a18856d-1920-4daa-b838-5d6eb826b0fe 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-83c99d11-60b7-40f4-b8cc-24371e8b2e4d 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-6d89c6c7-739f-4b82-bfd3-19a6b179f51f 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.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.231777s] ... 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-9e2ece81-e553-4267-afbf-8a61ccf5a61b 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.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.075496s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.144677s] ... 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-1e449bc1-c46f-4b66-8c5e-4b8b7e0e02df 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.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.050780s] ... ok PATCH: /v1/nodes/c9b0b747-c647-4142-b01c-50ae724fd23e [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8505880c-158e-4ba5-8b3e-72c2a0968607 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.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.077512s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eda6f7be-aa48-4a5c-8da7-0ae1219fd8e0 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.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.104944s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.029384s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.021303s] ... 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-02-15T13:14:26.611681+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'}]} {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.180615s] ... 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-72ad4c88-da66-41f0-b65e-28b43d8e92b7 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).\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.066075s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': False, u'console_info': None} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.069170s] ... 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-e629b853-5432-43a5-ad77-816bd5b767a9 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-02-15T13:14:26.976952+00:00", "updated_at": "2018-02-15T13:14:27.035993+00:00", "address": "aa:bb:cc:dd:ee:ff"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.114308s] ... 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-a8e737c6-8af3-4843-a240-1573593166c9 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/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-3d6c135c-9534-43cf-aabd-adeca6899f1f 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)\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.076765s] ... 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-7957af41-644a-4fec-9f6b-8186969e1dda 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.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.059139s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.062014s] ... 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-cff030cb-579d-4e52-9988-da928e71e28d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 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-b02378b2-8958-47e6-945f-ffd5a216c0f4 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-4ebaaa16-44d6-4cbe-892c-ed857f91c000 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-e20eb6ed-de13-4b1e-bf20-fa50b6f4a93c 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\\\".\"}"} {27} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.157033s] ... 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'}]} {5} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.040994s] ... 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-3ff96391-f693-4769-b583-90691a36ab9e 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.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.060847s] ... 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-0fe5a9ac-ea7f-4e0d-87c6-198a967c2829 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-02-15T13:14:26.777968+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-02-15T13:14:26.777968+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'******'}} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.164657s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-253f9413-ecc6-45d9-919a-7d6c96ab1c41 {"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)\"}"} {14} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.036512s] ... 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'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.073754s] ... 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-45538d9f-2618-4a93-a3ed-fb6a75bb4a67 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.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.091701s] ... 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-9f3f79bc-44f4-43a0-9fb8-fdb451228e2a 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.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.078497s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.068562s] ... 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-02-15T13:14:26.389942+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.073397s] ... 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-998a39f3-d78a-464d-b71c-8768815e09b2 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.070800s] ... ok func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3cb5aef6-1cd2-4598-a0aa-0c8b8486af57 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'\"}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6a045a34-3d83-4c05-8a55-431cbe48eb06 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {14} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.038417s] ... ok {14} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.035386s] ... ok 2018-02-15 13:14:31.109 13978 INFO alembic.runtime.migration [req-5e672cbf-262e-4b2b-8c20-f250b2816413 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:31.110 13978 INFO alembic.runtime.migration [req-5e672cbf-262e-4b2b-8c20-f250b2816413 - - - - -] Will assume non-transactional DDL. GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f33e3bd8-a7ef-49b7-8a1d-d8c973962ebd 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.\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.096951s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d654d2e0-0fba-4c4d-b882-117f777ce2b1 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\"}"} 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-a0757d36-e164-4c63-9ffb-f7849c621011 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\\\".\"}"} {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.099591s] ... ok func1() migrated 10 of 10 objects. 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-02-15T13:14:26.778443+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-02-15T13:14:26.778443+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'}]}]} {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.277803s] ... 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-1578bc4e-97df-4905-93f6-84f6368b7bf7 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\"}"} {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.089598s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.089484s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.023653s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.030940s] ... 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-e7c6bca5-9780-4da9-b549-ecbe45001a98 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.066317s] ... 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-08f0cb27-e467-4119-9661-b0c0a78970fc 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-02-15T13:14:26.292743+00:00"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.113883s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.294806s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 204 No Content Openstack-Request-Id: req-8e952ed5-a59c-415f-a3bf-69bb82c565b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {14} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.022193s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.138413s] ... 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-8c1db655-b4ec-451d-a50b-f82966a4ad7b 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-a15d1177-6ff1-40fa-8815-2c5eec4a99ff 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-f24cc7ec-05cc-468e-b0a6-746c0687bded 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\\\".\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.150058s] ... 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'} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.095726s] ... ok GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d91d4b47-6b71-47fd-979f-743107233c12 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.045519s] ... ok GET: /v1/nodes {} GOT:{u'nodes': []} 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-783e86ce-2a4f-46c6-bae6-b6e8b888bed4 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-02-15T13:14:26.410153+00:00"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.121502s] ... 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 "} 2018-02-15 13:14:31.110 13988 INFO alembic.runtime.migration [req-3aa48a6a-eaf9-4555-8b28-b473377dd2c4 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:31.111 13988 INFO alembic.runtime.migration [req-3aa48a6a-eaf9-4555-8b28-b473377dd2c4 - - - - -] Will assume non-transactional DDL. DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/4d0c93d8-9de1-4527-b942-645581e2c8be GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3733e573-2e0e-4993-abd1-8803a65ff321 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.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.375501s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{u'traits': [u'CUSTOM_1', u'CUSTOM_2']} {20} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.090574s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.099444s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.090096s] ... 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-4d499aba-eb3e-4417-b222-04af54ea9de7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {12} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.083748s] ... ok 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-02-15T13:14:26.330449+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'}]} {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.090377s] ... 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:{} {19} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.186273s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.102357s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.079819s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '0261b7d2-d759-4e90-b325-f03f0146c8f7', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7dba51eb-90c5-4671-b5eb-7aec011a2e6e 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.\"}"} 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-a58f6303-3918-4fc8-933c-df7bbba3b96a 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.\"}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/5b42548a-3d29-4c68-b311-db80be703216 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d2454e17-8638-4146-92d4-74edfb9b44b9 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.\"}"} 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-e28f1c55-adce-4548-822c-6f6fd8129ba0 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-02-15T13:14:27.158035+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-02-15T13:14:27.158035+00:00'} PATCH: /v1/nodes/4703d768-9418-438f-adf1-d5c8d265f84f [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d1c2fe18-b4e0-46d0-b13e-9b2b88b0f30c 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.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.093463s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-031f1ba4-90b1-4d21-ab77-beaee0a11f2b 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\\\"\"}"} {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.044349s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '4f465f35-eee0-4469-8b5a-c718a758cde2', '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-a72faaae-9eff-4364-a8c6-21e7b6571cdc 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 4f465f35-eee0-4469-8b5a-c718a758cde2 could not be found.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.070449s] ... 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-0a5e7447-3eab-4ad2-a653-b67a5e892030 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.066369s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.068342s] ... ok {5} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.022820s] ... 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-6fb03b7d-bda9-4b5a-99a2-888d8f6f09d8 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-02-15T13:14:26.597745+00:00", "physical_network": "physnet2", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-02-15T13:14:26.465002+00:00"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.086138s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.062710s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.068733s] ... ok GET: /v1/nodes?instance_uuid=26ca4900-2388-42b3-8eb8-095bf6c49e20 {} GOT:{u'nodes': [{u'instance_uuid': u'26ca4900-2388-42b3-8eb8-095bf6c49e20', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5b721bea-5968-4b6a-b69d-73ccfa5d23ab', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5b721bea-5968-4b6a-b69d-73ccfa5d23ab', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'5b721bea-5968-4b6a-b69d-73ccfa5d23ab'}]} GET: /v1/nodes?instance_uuid=eb82846c-a682-4c4e-a545-2e6fa37ed22f {} GOT:{u'nodes': [{u'instance_uuid': u'eb82846c-a682-4c4e-a545-2e6fa37ed22f', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/73ada592-726c-4ced-ab2a-4c2a1484a400', u'rel': u'self'}, {u'href': u'http://localhost/nodes/73ada592-726c-4ced-ab2a-4c2a1484a400', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'73ada592-726c-4ced-ab2a-4c2a1484a400'}]} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.109593s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.018077s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.075105s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.055553s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.166484s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dd0ce0db-47de-4f52-9240-7b490ec85b00 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.\"}"} 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-f40a21d6-96bc-4610-a356-4404c050eafd 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-cc9cb04f-4451-4b0e-99b4-3032a59f67fc 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-2fe15385-283d-4fb4-82db-53520a66599d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f74a594c-cda0-4304-bd40-2c7c43721c3e 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.\"}"} 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-cdd86014-e349-450c-812a-2770cfa54033 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.\"}"} PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f4ff076b-aecb-4741-a2e5-016d52092ed3 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.\"}"} 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-02-15T13:14:27.033066+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-02-15T13:14:27.033066+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'******'}} {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.123887s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.227518s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.087277s] ... ok {14} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.012922s] ... 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-02-15T13:14:26.250099+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-02-15T13:14:26.250099+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.041402s] ... 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-9d607120-e761-4833-b3a3-91d0feb467f4 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.\"}"} 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-18d06093-3ff0-4397-8c0e-1cfb05d25a3a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {25} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.136622s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.055386s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.106132s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortObject.test_port_init [0.014073s] ... ok {14} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.013528s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.017095s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.106722s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.029131s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.016362s] ... ok PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-233d9167-3d69-473e-b11e-107bf52c242c 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\"}"} {24} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.078217s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.079316s] ... ok {5} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.023440s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.200166s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.095583s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.013330s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.124865s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.013856s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.014432s] ... ok {5} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.021891s] ... ok PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-a0b6d5ec-5f9c-486c-87e4-8e293d9cde8e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.055029s] ... ok GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40dfaf68-bcc2-4949-8257-0e4a0f3fa558 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.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.034039s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.349721s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.421995s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.216278s] ... ok {5} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.026377s] ... ok {5} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.019321s] ... ok {14} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.013792s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.345321s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.917554s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c95deb6b-d757-40ef-adf1-98e90b530c8f 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\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.046860s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version_deprecated [0.399631s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.326534s] ... ok {14} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.013837s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.060120s] ... 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-9c2719e2-a9cf-46ee-b724-f529ec91e79a 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.\"}"} {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_validate_fail [0.090791s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.065187s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.029136s] ... ok {5} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.103546s] ... ok {14} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.101082s] ... ok GET: /v1/nodes?instance_uuid=2833197a-4826-4dcb-982c-04393964c687 {} GOT:{u'nodes': []} {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.130201s] ... ok {5} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.016376s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'provision_updated_at': u'2000-01-01T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state'} {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.085430s] ... 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-d950d6d2-2652-4292-b847-c4e1fa668623 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {14} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.116158s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.074263s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.067813s] ... ok {14} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.016898s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.032722s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.103242s] ... 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-904d3af1-844f-41d7-8a73-263087aec6f5 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.TestPut.test_provision_with_deploy_after_deployfail [0.091287s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.032008s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.140063s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_no_management [0.206730s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.032689s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.016501s] ... ok {14} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.018938s] ... ok {5} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.024344s] ... ok {5} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.013563s] ... ok {5} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.117559s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.072908s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_volumes [0.076929s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.115668s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.096990s] ... ok {14} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.014994s] ... ok {14} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_classic_drivers [0.072296s] ... ok {14} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.324519s] ... ok {5} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.013986s] ... ok {5} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.328277s] ... ok {14} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.338541s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a81c66ba-feb9-4433-82a0-c42007568aca 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.\"}"} {5} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.068948s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.090949s] ... ok {14} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.363702s] ... ok {14} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual [0.926508s] ... 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-0c64b7cc-077c-4efc-b74d-0b7f058a766c 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\\\".\"}"} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e14e9d66-dc24-46b9-916d-3c2e8e120816 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.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.095844s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.061219s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.581946s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync_hw_type [0.136075s] ... ok GET: /v1/ports?fields=uuid,extra {} GOT:{u'ports': [{u'uuid': u'3194a143-f20b-4de6-9b42-8af2518660d8', u'links': [{u'href': u'http://localhost/v1/ports/3194a143-f20b-4de6-9b42-8af2518660d8', u'rel': u'self'}, {u'href': u'http://localhost/ports/3194a143-f20b-4de6-9b42-8af2518660d8', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'e10255b6-15a3-4889-bd7b-f00a3caecf95', u'links': [{u'href': u'http://localhost/v1/ports/e10255b6-15a3-4889-bd7b-f00a3caecf95', u'rel': u'self'}, {u'href': u'http://localhost/ports/e10255b6-15a3-4889-bd7b-f00a3caecf95', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'fb5f5247-3815-4010-ad78-702b8789c2ea', u'links': [{u'href': u'http://localhost/v1/ports/fb5f5247-3815-4010-ad78-702b8789c2ea', u'rel': u'self'}, {u'href': u'http://localhost/ports/fb5f5247-3815-4010-ad78-702b8789c2ea', u'rel': u'bookmark'}], u'extra': {}}]} {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [2.139621s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_not_supported [0.192019s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.120732s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.026501s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.336372s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.088445s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_ok [0.309128s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.034720s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.031420s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.023076s] ... ok {14} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.409286s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.016473s] ... 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'}]} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.095037s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.047651s] ... ok {5} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces [0.081439s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.128515s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.148877s] ... ok {14} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.385389s] ... ok {2} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.018845s] ... ok {5} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.343272s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.183651s] ... ok {5} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.021200s] ... ok {5} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.022325s] ... ok {5} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.015546s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_node_locked [0.079786s] ... ok {5} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.016965s] ... ok {5} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.104154s] ... ok {14} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.379376s] ... ok {14} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.054637s] ... 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-906df037-6553-4980-982e-111c984aad86 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.\"}"} GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'87fe02f9-89eb-490b-a6c3-f9f75f9f2253', u'links': [{u'href': u'http://localhost/v1/volume/targets/87fe02f9-89eb-490b-a6c3-f9f75f9f2253', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/87fe02f9-89eb-490b-a6c3-f9f75f9f2253', 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'9f987dac-314c-4273-9993-d6b34dbab8db', u'links': [{u'href': u'http://localhost/v1/volume/targets/9f987dac-314c-4273-9993-d6b34dbab8db', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9f987dac-314c-4273-9993-d6b34dbab8db', 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'0033c6e5-7312-4453-83f1-593fce858eff', u'links': [{u'href': u'http://localhost/v1/volume/targets/0033c6e5-7312-4453-83f1-593fce858eff', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0033c6e5-7312-4453-83f1-593fce858eff', 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=0033c6e5-7312-4453-83f1-593fce858eff'} {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.121329s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.057986s] ... ok {14} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.030617s] ... ok {14} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.046878s] ... ok 2018-02-15 13:14:30.537 13985 INFO alembic.runtime.migration [req-6bb46777-5632-4cff-8822-543881e96661 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:30.538 13985 INFO alembic.runtime.migration [req-6bb46777-5632-4cff-8822-543881e96661 - - - - -] Will assume non-transactional DDL. {14} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.016833s] ... ok {26} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.165497s] ... ok {5} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.089726s] ... ok {14} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.068736s] ... ok {2} 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.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.103035s] ... ok {5} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.049832s] ... ok {5} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.034737s] ... ok {14} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.133134s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72ed7c09-bdd2-4c06-9fb9-247058ea18c2 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\\\"\"}"} {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.054358s] ... 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-33ab85f8-1d28-4cdc-9ebb-90e5e7a6e90f 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\"}"} {5} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.813893s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.064395s] ... ok {14} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.032216s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.069535s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.031274s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.049603s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.016661s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.097079s] ... ok {5} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.034154s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.043568s] ... 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-02-15T13:14:27.662682+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.031717s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.081877s] ... 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-1a62015e-3b7b-4bdb-8087-6114159262e3 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-02-15T13:14:26.794471+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.021111s] ... ok {5} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.038291s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.159131s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.041121s] ... ok {14} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.042166s] ... ok {5} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.032741s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.035412s] ... ok {14} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.118880s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.129451s] ... ok 2018-02-15 13:14:30.646 13987 INFO alembic.runtime.migration [req-cc31eb86-7bc7-4e33-a277-8d971ca7ebb6 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:30.647 13987 INFO alembic.runtime.migration [req-cc31eb86-7bc7-4e33-a277-8d971ca7ebb6 - - - - -] Will assume non-transactional DDL. {14} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.113405s] ... ok {28} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.214922s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.107075s] ... ok {5} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.038430s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6e2b9b18-0e94-4383-a817-3d271a32104e 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.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.058944s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.060473s] ... ok {5} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.103829s] ... ok {14} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login_exception [0.113085s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.044810s] ... ok {14} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device_fail [0.115116s] ... ok {5} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.099805s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.146961s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.162151s] ... ok {5} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_continue_deploy [0.166727s] ... ok 2018-02-15 13:14:30.601 13977 INFO alembic.runtime.migration [req-174eeb92-58e1-4be9-83c1-64cfe5dcf815 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:30.602 13977 INFO alembic.runtime.migration [req-174eeb92-58e1-4be9-83c1-64cfe5dcf815 - - - - -] 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-1c8942a9-1a56-4aec-be7d-363d730e4b1a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {14} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.140744s] ... ok {5} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.631773s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.143820s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.281090s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.162211s] ... ok {5} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_off [0.098253s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.200367s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.041736s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.121146s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.035712s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.244493s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.088998s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.015075s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.114179s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.230864s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_not_supported [0.071858s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.058773s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.171977s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.122977s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'44be0735-c843-45a5-af15-a92419af46a1', u'links': [{u'href': u'http://localhost/v1/portgroups/44be0735-c843-45a5-af15-a92419af46a1', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/44be0735-c843-45a5-af15-a92419af46a1', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'dc8e84d0-52c0-4f0b-890a-2de2f6728a98', u'links': [{u'href': u'http://localhost/v1/portgroups/dc8e84d0-52c0-4f0b-890a-2de2f6728a98', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/dc8e84d0-52c0-4f0b-890a-2de2f6728a98', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'35096905-10c3-40d1-8791-d6402711e987', u'links': [{u'href': u'http://localhost/v1/portgroups/35096905-10c3-40d1-8791-d6402711e987', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/35096905-10c3-40d1-8791-d6402711e987', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=35096905-10c3-40d1-8791-d6402711e987'} {14} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.013747s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.034309s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.110352s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.126181s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_no_firmware_url [0.103117s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.109344s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.031621s] ... ok GET: /v1/nodes?sort_key=uuid {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9b8d1362-c861-4084-82d6-928e09c40670', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9b8d1362-c861-4084-82d6-928e09c40670', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9b8d1362-c861-4084-82d6-928e09c40670'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ae8c3b71-c524-4a03-b183-c8ac739f364a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ae8c3b71-c524-4a03-b183-c8ac739f364a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ae8c3b71-c524-4a03-b183-c8ac739f364a'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c04ffb0e-a4cf-47df-bbd4-12a578f2810d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c04ffb0e-a4cf-47df-bbd4-12a578f2810d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c04ffb0e-a4cf-47df-bbd4-12a578f2810d'}]} {14} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.134070s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.163280s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.094014s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.030079s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.045022s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.053593s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.537334s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_ok [0.057084s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.204774s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.125650s] ... 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-6f9cdf6c-4c05-4505-97f2-fc8baa68a3f5 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-02-15T13:14:26.599634+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"} {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.157906s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.145892s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.130844s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.106060s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.155883s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.141618s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.142290s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.149479s] ... 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-1f935aa5-4058-440f-a7a1-ce176617f77b 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.\"}"} {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.071982s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.095721s] ... ok GET: /v1/ports?node=test-node {} GOT:{u'ports': [{u'uuid': u'ca7e1a46-f6b6-4ad1-a9f7-2d6e4eeb67ae', u'links': [{u'href': u'http://localhost/v1/ports/ca7e1a46-f6b6-4ad1-a9f7-2d6e4eeb67ae', u'rel': u'self'}, {u'href': u'http://localhost/ports/ca7e1a46-f6b6-4ad1-a9f7-2d6e4eeb67ae', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'4f20901b-54a4-4704-829b-dd00841fee7b', u'links': [{u'href': u'http://localhost/v1/ports/4f20901b-54a4-4704-829b-dd00841fee7b', u'rel': u'self'}, {u'href': u'http://localhost/ports/4f20901b-54a4-4704-829b-dd00841fee7b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'ccca1869-fb98-40d0-b20f-e3070c11428e', u'links': [{u'href': u'http://localhost/v1/ports/ccca1869-fb98-40d0-b20f-e3070c11428e', u'rel': u'self'}, {u'href': u'http://localhost/ports/ccca1869-fb98-40d0-b20f-e3070c11428e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {14} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.035524s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.127291s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.108201s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.144848s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.034424s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.022753s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.029968s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id_portgroup [0.144809s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.112165s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview [0.101389s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.029138s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.166495s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.082538s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.145161s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.124829s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.116140s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.138026s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.093766s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.154819s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.147272s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.106561s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_multiple_commands [0.106790s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.136832s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.128165s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_no_deprecation_if_removing_vif [0.117228s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.132573s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.117670s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.133877s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_steps [0.121930s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.143377s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node_success [0.111119s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.058648s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.138849s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.093726s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.039810s] ... ok {14} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_mac_type_virtual [0.042569s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.243915s] ... ok {14} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_maintenance_when_raise_exception [0.247367s] ... ok DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0df5462b-aab0-426d-835d-d9346b2fb6b7 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.\"}"} {5} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client_insecure_false [0.032007s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.039827s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.088672s] ... ok {14} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__create_profile_from_template [0.039467s] ... ok {5} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_get_properties [0.075050s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.043997s] ... ok {5} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_fail_to_get_server_profile [0.104713s] ... ok {14} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device [0.118828s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.034203s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.088313s] ... ok {5} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_onetime_boot_not_persistent [0.088563s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_inspector_not_imported [0.021061s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.100845s] ... ok {5} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_false [0.109708s] ... ok {14} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.288694s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.020227s] ... 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-24045000-0d01-4638-b6f5-145849bbb9c6 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"} {5} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate [0.095488s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.127508s] ... ok {14} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.160163s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.019570s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.101868s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.035865s] ... ok {14} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.180581s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.161098s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.119426s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.121138s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.109243s] ... 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-3bdf4c0c-a2bd-487c-9003-f0d4aac7fd41 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.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_on_fails [0.161135s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.075667s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.111638s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.315027s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.143014s] ... ok PATCH: /v1/ports/dec300e1-3e31-4a79-84bd-f56c9d2dbdf9 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-30d02996-0581-48a2-88a9-2058bc813ecc 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 dec300e1-3e31-4a79-84bd-f56c9d2dbdf9 could not be found.\"}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.093722s] ... ok {7} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.038711s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.017038s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.060040s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.733974s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.094392s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.015667s] ... ok {14} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.025493s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.035272s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.025248s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.015375s] ... ok {5} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.045112s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.016044s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_fail [0.073484s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.052098s] ... ok foo() migrated 15 of 15 objects. {14} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.059328s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.016960s] ... ok {7} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.023493s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.048639s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.028757s] ... 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 "} {7} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.020867s] ... ok {5} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.022630s] ... ok {14} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.035347s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.051867s] ... ok {7} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.016761s] ... ok {5} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.021157s] ... ok {14} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.032976s] ... ok {7} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.020867s] ... ok {5} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.029138s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.124379s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.076222s] ... ok 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-4535a655-a78c-4065-89ca-c73af24768e1 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.\"}"} {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.019538s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.049525s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.091838s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.071104s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.094579s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_on [0.065835s] ... ok {7} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.016078s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.090685s] ... ok {7} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.013194s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_non_retryable_failure [0.054516s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console [0.095570s] ... ok {7} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.013202s] ... ok PATCH: /v1/nodes/ab21d4f3-be50-4551-8a21-f43d3f1ead33 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8166766e-aa9a-4c13-8298-d0e63193c618 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/ab21d4f3-be50-4551-8a21-f43d3f1ead33", "rel": "self"}, {"href": "http://localhost/nodes/ab21d4f3-be50-4551-8a21-f43d3f1ead33", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "ab21d4f3-be50-4551-8a21-f43d3f1ead33", "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-02-15T13:14:26.354098+00:00", "ports": [{"href": "http://localhost/v1/nodes/ab21d4f3-be50-4551-8a21-f43d3f1ead33/ports", "rel": "self"}, {"href": "http://localhost/nodes/ab21d4f3-be50-4551-8a21-f43d3f1ead33/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.110544s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.058264s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.307038s] ... ok {7} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.015763s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.035246s] ... 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-2566e6c2-2eb0-4a40-bd4d-409efcd0a482 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\"}"} {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.048597s] ... ok {7} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.022639s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.074934s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_failed [0.041737s] ... 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-aaefe6be-a2a3-4cd4-84de-4274930a3c20 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-02-15T13:14:26.539309+00:00", "updated_at": "2018-02-15T13:14:26.605557+00:00", "address": "aa:bb:cc:dd:ee:ff"} {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device [0.113569s] ... ok {7} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_config_for_configdrive [0.166206s] ... 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': '03f5504c-2ab0-4e05-8e77-7bda89b5fbca'}, '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-e3020829-ccc6-4bde-bc69-bf0200c52d4b 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": "03f5504c-2ab0-4e05-8e77-7bda89b5fbca"}, "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-02-15T13:14:27.329694+00:00"} {24} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.121729s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_ok [0.039655s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.132723s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated [0.289775s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_good [0.086856s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_fail [0.069781s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_ok [0.128978s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{u'ports': [{u'uuid': u'd9d13eae-079d-460a-a284-288ef624cde4', u'links': [{u'href': u'http://localhost/v1/ports/d9d13eae-079d-460a-a284-288ef624cde4', u'rel': u'self'}, {u'href': u'http://localhost/ports/d9d13eae-079d-460a-a284-288ef624cde4', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'594b2b7c-6a25-475d-914b-d5298a743259', u'links': [{u'href': u'http://localhost/v1/ports/594b2b7c-6a25-475d-914b-d5298a743259', u'rel': u'self'}, {u'href': u'http://localhost/ports/594b2b7c-6a25-475d-914b-d5298a743259', 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'd9d13eae-079d-460a-a284-288ef624cde4', u'links': [{u'href': u'http://localhost/v1/ports/d9d13eae-079d-460a-a284-288ef624cde4', u'rel': u'self'}, {u'href': u'http://localhost/ports/d9d13eae-079d-460a-a284-288ef624cde4', 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=d9d13eae-079d-460a-a284-288ef624cde4'} {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_unset_clean_step [0.089061s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.159477s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_fail [0.132172s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_off [0.089805s] ... 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-02-15T13:14:26.986490+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-02-15T13:14:26.986490+00:00'} {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.290221s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.382560s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.137178s] ... ok {5} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot [0.147767s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.032680s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.023739s] ... ok {14} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.018283s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.183928s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.026286s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.013191s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.132531s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.024716s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.150722s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.023987s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.135442s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.099594s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ipmitool [0.207890s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel [0.028182s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.040843s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.015852s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.101760s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.015611s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.095427s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.024915s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.024192s] ... ok {7} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_vendor_interface_not_supported [0.357281s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.019651s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.021837s] ... ok {5} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device [0.259888s] ... ok {7} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.087743s] ... ok {14} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_already_target_state [0.120188s] ... ok {5} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_fail [0.222317s] ... ok {7} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.020648s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.062856s] ... ok {14} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot [0.203366s] ... ok {5} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.013316s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.019348s] ... ok {14} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.083669s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.036450s] ... ok {14} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.099466s] ... ok {5} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_default_interfaces [0.089359s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_with_driver [0.045588s] ... ok {14} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_not_mounted_exception [0.003552s] ... 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-145350dd-89ca-412e-900c-59c46585762c 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\"}"} {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.056928s] ... ok {14} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___try_import_exception [0.001808s] ... ok {5} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_driver [0.022391s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.019331s] ... ok {7} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.125875s] ... 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-0a7f255d-cbc1-4187-b9b8-7d2c6ff8bf3e 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-02-15T13:14:26.188353+00:00", "updated_at": "2018-02-15T13:14:26.261183+00:00", "address": "52:54:00:cf:2d:31"} {14} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.015187s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.128197s] ... ok {5} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_interfaces [0.085755s] ... ok {7} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.099326s] ... ok {5} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_direct [0.083120s] ... ok {7} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.257069s] ... ok DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-bc9293ef-5e1e-4447-a561-7ccafd897b5d 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_delete_all_traits [0.077784s] ... ok {7} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.048338s] ... ok {14} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.022260s] ... ok {5} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.029224s] ... ok {7} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.030236s] ... ok {5} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.011796s] ... ok {7} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.057317s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options [0.077837s] ... ok {7} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.034753s] ... ok {5} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.025472s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.059089s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.012949s] ... ok {14} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.027202s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.050112s] ... 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-bce919d0-8b89-42a8-802b-7f8aaf42fdae 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-02-15T13:14:27.742198+00:00", "updated_at": "2018-02-15T13:14:27.802581+00:00", "address": "aa:bb:cc:dd:ee:ff"} {5} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.013737s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.021400s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.054159s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.118634s] ... ok {7} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.036678s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.012940s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.020580s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.012932s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.013469s] ... ok {7} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_ok [0.728380s] ... ok {5} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.021652s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.089147s] ... ok {14} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.014897s] ... ok {5} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.020584s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.037852s] ... ok {5} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.022576s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.013181s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.040195s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '12f7998d-e7bb-4907-8b47-201bdca2e5b4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50aa6b30-1eac-4a53-bf31-b0d5aabbc98a 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\"}"} {7} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.098688s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.012887s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.070038s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_on_webserver [0.061325s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.098347s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.123396s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.014653s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.014222s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.022013s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_service_profile [0.073994s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist_mac_exception [0.097725s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.033178s] ... 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-2fba7f59-e25a-4923-b01f-a36259c36359 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.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.058358s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.033273s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.093564s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.129923s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.192939s] ... ok GET: /v1/drivers/fake-driver1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-64e66d91-f9b7-4313-89cb-ad86d6634b15 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.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.047714s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.030567s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.079803s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.110419s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.108423s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.044235s] ... ok 2018-02-15 13:14:31.299 13981 INFO alembic.runtime.migration [req-d0b5fe11-b157-4bba-a42b-3c4a817bcdbc - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:31.300 13981 INFO alembic.runtime.migration [req-d0b5fe11-b157-4bba-a42b-3c4a817bcdbc - - - - -] Will assume non-transactional DDL. 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-48435baa-6a8e-4dcf-90e9-f8b70b5beaec 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.263846s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.153987s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.026929s] ... ok GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-182326bf-f4b7-48d1-b66d-8783030a6a63 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.\"}"} {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.133195s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.075028s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.023771s] ... ok {14} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.115504s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.124401s] ... ok {7} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test__is_onetime_boot_true [0.090899s] ... ok {7} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_unknown_device [0.097409s] ... ok {14} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.014122s] ... ok {7} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail_with_hardware_off [0.096976s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.079943s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.114033s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.100878s] ... 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-a13dea97-4d98-40d8-8fe7-91c7deae278e 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-02-15T13:14:26.365708+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": "******"}} {7} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.029632s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.013717s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.114001s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_still_running [0.094415s] ... ok GET: /v1/portgroups?fields=uuid,extra {} GOT:{u'portgroups': [{u'uuid': u'fade3149-e70e-4b88-864c-350b4cf1d334', u'links': [{u'href': u'http://localhost/v1/portgroups/fade3149-e70e-4b88-864c-350b4cf1d334', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/fade3149-e70e-4b88-864c-350b4cf1d334', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'9024456f-a574-49ef-b95b-6624311ef3f2', u'links': [{u'href': u'http://localhost/v1/portgroups/9024456f-a574-49ef-b95b-6624311ef3f2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9024456f-a574-49ef-b95b-6624311ef3f2', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'c1d7b504-5451-4cfc-9a8c-9ab89122ed56', u'links': [{u'href': u'http://localhost/v1/portgroups/c1d7b504-5451-4cfc-9a8c-9ab89122ed56', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c1d7b504-5451-4cfc-9a8c-9ab89122ed56', u'rel': u'bookmark'}], u'extra': {}}]} {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.175106s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.109807s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-41adadb1-4ebd-4c76-80fa-44dc3649b6d4 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.061720s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning [0.125221s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.139479s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.139354s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.032395s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue [0.155025s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.023036s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.019820s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.019080s] ... 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-4bba32b5-faeb-441c-9c04-d18d3a4252b4 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.\"}"} {7} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.123870s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.073495s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.019237s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.021405s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.028155s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.029722s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.099943s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.035544s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.062699s] ... ok {7} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.051627s] ... ok {7} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_url [0.054220s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.089034s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.127832s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.144211s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.040285s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.044630s] ... ok {7} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.103543s] ... ok {7} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.080567s] ... ok {7} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.035678s] ... ok {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.107880s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.045921s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.028969s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.022196s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_fail [0.027449s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.031371s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.019936s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-998ccf4f-9d3f-4bf9-9320-8b5be915db36 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.\"}"} {8} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.077418s] ... ok {7} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.013630s] ... ok {7} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.020790s] ... ok {7} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.013707s] ... ok {7} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.019100s] ... ok {7} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.093086s] ... ok {7} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_socat_driver [0.003092s] ... 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-0230109d-072e-4f87-bfac-f321efa44831 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.\"}"} {7} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver_import_error [0.002795s] ... 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-322fd483-0236-4137-85a2-0be1970af6a0 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\": \"\"}"} {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.069189s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.066971s] ... 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-d5767db1-5e71-428e-bd26-6be6b9753834 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.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.020106s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.089235s] ... ok {7} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.024893s] ... ok {7} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.013453s] ... 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-6f2a1f79-95d5-4e2e-8636-7a37afa95e13 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/chassis/?limit=3 {} GOT:{u'chassis': [{u'uuid': u'8ab25eb7-6df1-40d5-95c5-02b8811a41ee', u'links': [{u'href': u'http://localhost/v1/chassis/8ab25eb7-6df1-40d5-95c5-02b8811a41ee', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8ab25eb7-6df1-40d5-95c5-02b8811a41ee', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'96992d00-8724-48f3-885c-2e48ad413bef', u'links': [{u'href': u'http://localhost/v1/chassis/96992d00-8724-48f3-885c-2e48ad413bef', u'rel': u'self'}, {u'href': u'http://localhost/chassis/96992d00-8724-48f3-885c-2e48ad413bef', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'aee20472-995c-40e3-8525-75df5380139f', u'links': [{u'href': u'http://localhost/v1/chassis/aee20472-995c-40e3-8525-75df5380139f', u'rel': u'self'}, {u'href': u'http://localhost/chassis/aee20472-995c-40e3-8525-75df5380139f', 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=aee20472-995c-40e3-8525-75df5380139f'} {7} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.023560s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.065420s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.106188s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.102527s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_agent_driver [0.004989s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f5168a8d-4d7c-4bdd-90cd-cf1fd71c251c 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.062942s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver [0.004353s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.014704s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.022315s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.029928s] ... 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'}]}]} {18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.214195s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.035090s] ... 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-a1fcf565-520c-4f17-b6d9-647e627cf3a1 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\"}"} {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.017023s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.090016s] ... 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-6b07490c-7644-428a-a619-ef96a13e02fa 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-02-15T13:14:27.095239+00:00", "updated_at": "2018-02-15T13:14:27.164381+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-925272d3-034f-4e45-bf84-78033f0c6961 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-02-15T13:14:27.095239+00:00", "updated_at": "2018-02-15T13:14:27.232341+00:00", "address": "52:54:00:cf:2d:31"} {6} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.194964s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/d4061deb-6ecc-4104-8459-c2474939f530', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d4061deb-6ecc-4104-8459-c2474939f530', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'd4061deb-6ecc-4104-8459-c2474939f530'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/302dcba2-aedf-46d3-bb44-18012dc07d7e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/302dcba2-aedf-46d3-bb44-18012dc07d7e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'302dcba2-aedf-46d3-bb44-18012dc07d7e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a4c51773-adb3-46ce-8c2e-1a94b2738ca9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a4c51773-adb3-46ce-8c2e-1a94b2738ca9', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a4c51773-adb3-46ce-8c2e-1a94b2738ca9'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8b1f7775-2f3d-4d01-8d65-e9eaedda451c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8b1f7775-2f3d-4d01-8d65-e9eaedda451c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8b1f7775-2f3d-4d01-8d65-e9eaedda451c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/60470a17-681b-440c-accb-1f4087db543e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/60470a17-681b-440c-accb-1f4087db543e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'60470a17-681b-440c-accb-1f4087db543e'}]} {31} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.252772s] ... 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': '98d809e0-6ed2-459f-8a92-8cfcd0892dc3'}, '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-50dcd9f7-689b-48a0-ae4c-9ba05b3a0f58 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.\"}"} {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.088566s] ... 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.048334s] ... ok DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-e9f9a030-74dc-40af-9ec2-ee1291ebfd94 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_maintenance_mode_by_name [0.053762s] ... ok {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.182599s] ... 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-02-15T13:14:31.420775+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'}]} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.095437s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.021862s] ... 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 "} {18} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.051215s] ... ok 2018-02-15 13:14:31.155 13982 INFO alembic.runtime.migration [req-65bdf1c5-6e02-4731-9348-952a2c33d63a - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:31.156 13982 INFO alembic.runtime.migration [req-65bdf1c5-6e02-4731-9348-952a2c33d63a - - - - -] Will assume non-transactional DDL. 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'}]} {23} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.745834s] ... 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-fe25dce8-158e-4cbf-8b5c-6e55026a373f 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-02-15T13:14:26.317246+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {21} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.111096s] ... ok POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-60fb7835-4e90-4bf1-bc9a-93c582e0b7b5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 null {19} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.068791s] ... 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'}]} {26} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.075012s] ... 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 "} {16} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.044777s] ... 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-51dd0d38-c562-42b7-8115-5a302c571b62 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'\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.067593s] ... 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-c220b4a2-d982-4c6b-8ed9-f00404be6e45 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.050978s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_apimultitype_tostring [0.013542s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name [0.016655s] ... 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-02-15T13:14:26.584887+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/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-02-15T13:14:26.648905+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'}]} 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-9f1102a3-a2e8-4cd0-aea4-0974bc03e212 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.\"}"} {4} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type [0.013589s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.083059s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.088576s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.079599s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties_fail [0.015316s] ... 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-23f580dc-bb53-4517-9837-3103f6e297bb 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.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.055086s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.014036s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.013572s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.014856s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.020528s] ... 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-f6dbd081-bc2f-414d-af45-d2713b11893c 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-02-15T13:14:27.374148+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"}]} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.105944s] ... ok GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c0fd9119-044b-4855-a746-64ae94926430 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\"}"} {23} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.081197s] ... 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-02-15T13:14:26.826244+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.074607s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-978fd646-93fa-4858-95b1-9564cb83d759 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {16} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.065559s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a64102a-f19f-4105-ac93-70252dc2c44b 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.\"}"} 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-15a8c3ef-96d0-48ed-af3b-6f4c161d89aa 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.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.037421s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.072280s] ... ok 2018-02-15 13:14:31.344 13976 INFO alembic.runtime.migration [req-80c90791-ab37-4746-8cf7-7cb16d2d4460 - - - - -] Context impl SQLiteImpl. 2018-02-15 13:14:31.345 13976 INFO alembic.runtime.migration [req-80c90791-ab37-4746-8cf7-7cb16d2d4460 - - - - -] Will assume non-transactional DDL. 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:{} {17} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_classic [0.379541s] ... 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-eebdeb73-a232-4b16-aae3-9930791359d6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.091528s] ... 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-a59c9bcd-4f97-4eb6-97c9-6ebe7f4d6c93 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.071556s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.074998s] ... 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-a541dfff-d16e-482b-862f-8f4fe974035b 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.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.072034s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-844e47e7-1168-42e7-ac4f-8fa5508b90a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {16} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.066122s] ... ok GET: /v1/nodes/spam/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.061694s] ... ok DELETE: /v1/nodes/node-39/vifs/120a3773-fbff-4146-8657-cb5c4c5ba874 GOT:Response: 204 No Content Openstack-Request-Id: req-b6ec00ef-8afd-43e1-a825-a781c246492f 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.066729s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.041499s] ... ok GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca885e8f-6380-462a-bc6b-371226190ba0 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.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.042383s] ... 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-75bf8265-89a3-426c-9eba-87c9007d56df 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.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.075391s] ... ok GET: /v1/nodes/spam/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} 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-a2f79b01-98b8-480c-a85b-7991c498cad8 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.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.067174s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.061416s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:{} {29} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.065926s] ... 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-0497e7c7-53d3-4de4-bc52-a1d9bd2e030b 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-02-15T13:14:27.594952+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-02-15T13:14:27.594952+00:00'} {27} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.153468s] ... 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'}]} {23} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.184877s] ... 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': '6ed64f8d-5552-49a2-960f-c4c0c8ee418a'}, '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-b3c1f5e3-534d-4a36-8b42-0863abb86ebe 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": "6ed64f8d-5552-49a2-960f-c4c0c8ee418a"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-02-15T13:14:29.563525+00:00"} {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.573666s] ... 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 "} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.046715s] ... 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-02-15T13:14:26.990640+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'} {20} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.074542s] ... ok GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eee37eb6-333f-4489-8494-96728c536f1a 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.\"}"} {20} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values [0.013909s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.052618s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name [0.015007s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive_fails [0.015584s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_none [0.015344s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.014492s] ... 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'}]}]} {26} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.064543s] ... ok GET: /v1/nodes?fields=uuid,instance_info {} GOT:{u'nodes': [{u'uuid': u'8b1ffcfa-1237-4d44-b873-22cef1c6498c', u'links': [{u'href': u'http://localhost/v1/nodes/8b1ffcfa-1237-4d44-b873-22cef1c6498c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8b1ffcfa-1237-4d44-b873-22cef1c6498c', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'51c8a4b0-5b78-417d-becb-22b217905243', u'links': [{u'href': u'http://localhost/v1/nodes/51c8a4b0-5b78-417d-becb-22b217905243', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51c8a4b0-5b78-417d-becb-22b217905243', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'858aab81-7460-43a1-a525-9507e1ae2142', u'links': [{u'href': u'http://localhost/v1/nodes/858aab81-7460-43a1-a525-9507e1ae2142', u'rel': u'self'}, {u'href': u'http://localhost/nodes/858aab81-7460-43a1-a525-9507e1ae2142', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.194960s] ... ok GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21e642a9-c989-43ad-8434-b0968596ccf6 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-50c8b5b0-c3a2-40b8-a91e-8fdd31c3a36e 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-bedb8c0d-1226-4110-bbe4-e6e0b95e0756 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-f37134e7-c387-4941-8ed9-8f5e975fde45 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-ff462ab0-479d-4eed-94ce-7ea70fc79d6e 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-db50a207-6aec-4d7c-9406-563c362b8959 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-a0e1cccd-e704-4175-ab22-aff9548dc0d6 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-1bfcc3e3-8405-497f-96c0-66861b270ded 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\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.133766s] ... 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-3346d492-fecb-43dc-9946-9709a52155b0 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"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.062510s] ... ok GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {30} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.068526s] ... ok GET: /v1/portgroups?node=test-node {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'ddd2a15e-317c-4cac-b94c-73134d051e90', u'links': [{u'href': u'http://localhost/v1/portgroups/ddd2a15e-317c-4cac-b94c-73134d051e90', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/ddd2a15e-317c-4cac-b94c-73134d051e90', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'65b1e781-733a-469a-9473-a91b00a75c78', u'links': [{u'href': u'http://localhost/v1/portgroups/65b1e781-733a-469a-9473-a91b00a75c78', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/65b1e781-733a-469a-9473-a91b00a75c78', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'd36180fe-6594-49d0-add7-cf2d9141dcab', u'links': [{u'href': u'http://localhost/v1/portgroups/d36180fe-6594-49d0-add7-cf2d9141dcab', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d36180fe-6594-49d0-add7-cf2d9141dcab', u'rel': u'bookmark'}], u'name': u'portgroup2'}]} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.122958s] ... 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-f626207f-c43c-45ab-80a3-ee31d0db006a 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-02-15T13:14:27.981195+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"} {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.104342s] ... 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. "} {15} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_name [0.014183s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.210811s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_bad_id [0.015931s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_fail [0.014637s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields_fail [0.014811s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties [0.015221s] ... 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-5aeb5274-9b8d-4867-bec9-f2d30d6dfc39 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.132963s] ... 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-5b53168f-31ab-4736-a512-7136c9d5b672 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.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.068750s] ... 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-d8ab2f75-542c-483b-a169-9cb02312df81 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\\\"\"}"} {20} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.056922s] ... 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-a76da7ca-bb44-47ae-9057-5108661ae1fb 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.\"}"} 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/e86b3ba4-2622-42ad-aaec-2da414c9919a Openstack-Request-Id: req-25d35ff4-0628-4431-8429-de269a5e4fae 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": "e86b3ba4-2622-42ad-aaec-2da414c9919a", "links": [{"href": "http://localhost/v1/ports/e86b3ba4-2622-42ad-aaec-2da414c9919a", "rel": "self"}, {"href": "http://localhost/ports/e86b3ba4-2622-42ad-aaec-2da414c9919a", "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-02-15T13:14:27.285128+00:00"} GET: /v1/ports/e86b3ba4-2622-42ad-aaec-2da414c9919a {} 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'e86b3ba4-2622-42ad-aaec-2da414c9919a', u'links': [{u'href': u'http://localhost/v1/ports/e86b3ba4-2622-42ad-aaec-2da414c9919a', u'rel': u'self'}, {u'href': u'http://localhost/ports/e86b3ba4-2622-42ad-aaec-2da414c9919a', 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-02-15T13:14:27.285128+00:00'} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.170564s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.056119s] ... 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'}]} {16} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.040169s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op [0.032205s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.017466s] ... 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-ac160e48-874d-4379-9876-6c5ffd3de472 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\"}"} {16} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.013814s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.092630s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e445caff-1dac-4ac3-b346-bd0814191a6e 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).\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.145019s] ... ok PATCH: /v1/nodes/e081a542-5cb2-498a-85da-75c22837e4bd [{'path': '/name', 'value': 'this-is-my-node', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-265d46d4-e173-4a07-9726-03c15f7c2551 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\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.089235s] ... 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-1b74683f-5e07-4a2a-830c-968621c75c96 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-02-15T13:14:26.673692+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": "******"}} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.115021s] ... 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'}]} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.076126s] ... 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-cced209b-baa3-436d-b391-a92def64572f 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\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.084100s] ... 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-c849d6b5-f860-4d9e-803b-9c7ff3c299bb 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\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.068867s] ... 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'37f85335-b3cd-4802-90e0-99fbfbc522fb', u'links': [{u'href': u'http://localhost/v1/volume/connectors/37f85335-b3cd-4802-90e0-99fbfbc522fb', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/37f85335-b3cd-4802-90e0-99fbfbc522fb', 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'82b912ca-d5a4-4fe1-8afa-7944e97a2d21', u'links': [{u'href': u'http://localhost/v1/volume/connectors/82b912ca-d5a4-4fe1-8afa-7944e97a2d21', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/82b912ca-d5a4-4fe1-8afa-7944e97a2d21', 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'b470050a-f3ee-4069-a8d1-4f128e17f456', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b470050a-f3ee-4069-a8d1-4f128e17f456', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b470050a-f3ee-4069-a8d1-4f128e17f456', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}]} {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.113169s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '02bf5782-3a4a-47a3-b617-591b02d991f8', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b03e39ae-53c0-4c5d-901e-18df1d3eb80f 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-02-15T13:14:26.744068+00:00"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.127128s] ... ok GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8b74b32c-fef7-40c1-8bfc-b196c62b6342', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8b74b32c-fef7-40c1-8bfc-b196c62b6342', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8b74b32c-fef7-40c1-8bfc-b196c62b6342'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6b56f8a2-a822-4452-985f-d162e85b7d8d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6b56f8a2-a822-4452-985f-d162e85b7d8d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6b56f8a2-a822-4452-985f-d162e85b7d8d'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/752aa148-26d1-40f9-85c2-36b18d1bdd7f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/752aa148-26d1-40f9-85c2-36b18d1bdd7f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'752aa148-26d1-40f9-85c2-36b18d1bdd7f'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=752aa148-26d1-40f9-85c2-36b18d1bdd7f'} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.220732s] ... 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-6c620705-4a87-404d-9457-e72ddbcc0418 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\"}"} {27} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.074706s] ... ok GET: /v1/volume/connectors?detail=True&node=test-node {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:28.167206+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.082587s] ... 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-bbed3341-9479-4dae-8b0f-9ee56d0d09bd 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-02-15T13:14:26.477029+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-02-15T13:14:26.477029+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'******'}} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.140562s] ... 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-c84a1d00-44b7-4086-8beb-60c65d6b876d 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\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.064954s] ... 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-48488583-1c96-4e11-94c8-e7b661a7b4c0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.095671s] ... ok GET: /v1/portgroups?sort_key=mode {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'eac94eac-2bce-4b6a-899a-693bdb45d18c', u'links': [{u'href': u'http://localhost/v1/portgroups/eac94eac-2bce-4b6a-899a-693bdb45d18c', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/eac94eac-2bce-4b6a-899a-693bdb45d18c', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'a7521a30-fdf2-499b-ba0e-9dc1c156e956', u'links': [{u'href': u'http://localhost/v1/portgroups/a7521a30-fdf2-499b-ba0e-9dc1c156e956', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a7521a30-fdf2-499b-ba0e-9dc1c156e956', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'c64bfae2-bb8e-4dc6-9056-fd88e950c2f5', u'links': [{u'href': u'http://localhost/v1/portgroups/c64bfae2-bb8e-4dc6-9056-fd88e950c2f5', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c64bfae2-bb8e-4dc6-9056-fd88e950c2f5', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.111264s] ... 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-db408708-4c46-45f4-8c38-bfacf7a25135 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.088854s] ... 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-121b0a75-fad9-4f1d-89b4-50300b08670e 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-b39995e0-55b0-4fe0-ba57-3a2af07ae0a7 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-8319b1e2-cbd3-452d-9b2c-8bb7d7600427 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\\\".\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.154870s] ... 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-4f5056ce-9c0a-4d3b-a8db-5fc24ffe5e96 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-02-15T13:14:27.206517+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "type": "iqn"} {20} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.108627s] ... 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/0072e074-7157-40b0-9ecf-58da8f4cbd16', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0072e074-7157-40b0-9ecf-58da8f4cbd16', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'0072e074-7157-40b0-9ecf-58da8f4cbd16'}]} 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/f8947639-db40-453c-a07e-eefa47269d99', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f8947639-db40-453c-a07e-eefa47269d99', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'f8947639-db40-453c-a07e-eefa47269d99'}]} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.213475s] ... 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-39a9d13d-e0a6-4af6-8bcd-e6916b53ab39 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-02-15T13:14:26.506734+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"} {21} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.114263s] ... 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.070703s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs [0.014161s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields [0.014474s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.012727s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.016189s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.015146s] ... 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'75450907-7201-40bf-9e63-730e9aaf5f15', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/75450907-7201-40bf-9e63-730e9aaf5f15', u'rel': u'self'}, {u'href': u'http://localhost/nodes/75450907-7201-40bf-9e63-730e9aaf5f15', 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'}}} {8} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.131834s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6d2e8352-ded2-46e6-a13b-f511ae1bd537 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).\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.070486s] ... 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-923b5bb3-ede1-4ee9-8e09-742611c416b5 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\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.067095s] ... 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-212390b1-7310-455c-8043-ef634df60488 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.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.071556s] ... ok GET: /v1/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', u'rel': u'self'}, {u'href': u'http://foo/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', 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'ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', 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-02-15T13:14:31.124465+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6/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/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', u'rel': u'self'}, {u'href': u'http://foo/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', 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'ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', 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-02-15T13:14:31.124465+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6/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/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', u'rel': u'self'}, {u'href': u'http://foo/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', 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'ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6', 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-02-15T13:14:31.124465+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/ad9ae554-5a37-4d9a-9ab1-3b2b6a0d71a6/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {28} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.377612s] ... 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': 'ca67dc49-f53f-4d6e-835e-2a85e7e55e97'}, '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-477bf688-74ae-40be-9de0-d9171e215b55 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": "ca67dc49-f53f-4d6e-835e-2a85e7e55e97"}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-02-15T13:14:27.439474+00:00"} {25} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.110659s] ... 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'df59b2e6-1313-480e-9481-bda142c8ed26', u'links': [{u'href': u'http://localhost/v1/volume/connectors/df59b2e6-1313-480e-9481-bda142c8ed26', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/df59b2e6-1313-480e-9481-bda142c8ed26', 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'ed19bf2d-dab7-4c59-8431-29390510b8de', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ed19bf2d-dab7-4c59-8431-29390510b8de', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ed19bf2d-dab7-4c59-8431-29390510b8de', 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'0fee9658-f7cc-4069-a852-867497dbb921', u'links': [{u'href': u'http://localhost/v1/volume/connectors/0fee9658-f7cc-4069-a852-867497dbb921', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/0fee9658-f7cc-4069-a852-867497dbb921', 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=0fee9658-f7cc-4069-a852-867497dbb921'} {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.117897s] ... ok {16} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.015213s] ... ok {16} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions [0.027100s] ... 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-cf78ef32-73ac-40b3-89e3-2fbeadbb1ddf 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.\"}"} {16} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.038893s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.042923s] ... 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-6f34e885-4fab-459e-8074-64574b03fa3c 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.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.018274s] ... ok PATCH: /v1/volume/connectors/ecfb5348-410c-4a11-a54b-6108073484d1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-31c1e47d-a3da-4367-a29c-022d6a4383d6 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 ecfb5348-410c-4a11-a54b-6108073484d1 could not be found.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.074997s] ... ok {20} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.062145s] ... ok {16} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.108527s] ... 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-95dbc708-dbf5-4195-a634-93063f611eac 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'\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.051165s] ... ok {16} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.028904s] ... ok {16} ironic.tests.unit.common.test_exception.TestIronicException.test___init___string_serializable [0.015869s] ... ok {16} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.042990s] ... ok {16} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.032903s] ... ok {16} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.014885s] ... ok {16} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.016090s] ... ok {16} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.095757s] ... ok {16} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.089260s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.083733s] ... ok {16} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.021787s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_elilo [0.104783s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.031509s] ... ok {16} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.025297s] ... ok {16} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.013068s] ... ok {16} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.013138s] ... ok {16} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.013602s] ... 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-dd3926ca-4578-4443-a688-b22b65dea7d6 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\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.077047s] ... ok {16} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.018579s] ... ok {16} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.082674s] ... ok {16} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.068051s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.295481s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_manage [0.288092s] ... 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-d5994957-9200-4028-83e6-fd4748d17f11 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-02-15T13:14:31.179987+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": "******"}} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.181231s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.032316s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.058377s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.023766s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerTestHardwareTypeProperties.test_hardware_type_properties_manual_management [0.170947s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.152542s] ... ok {16} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.037646s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.198309s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.218481s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi [0.094110s] ... ok GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{u'connectors': [{u'uuid': u'0cca4756-7b99-40c6-9ee6-2006982806f3', u'links': [{u'href': u'http://localhost/v1/volume/connectors/0cca4756-7b99-40c6-9ee6-2006982806f3', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/0cca4756-7b99-40c6-9ee6-2006982806f3', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'a388eaa1-2513-4604-9515-dc3a9ffe2bb5', u'links': [{u'href': u'http://localhost/v1/volume/connectors/a388eaa1-2513-4604-9515-dc3a9ffe2bb5', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/a388eaa1-2513-4604-9515-dc3a9ffe2bb5', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'4cbdb9b6-495b-4f6b-aad2-f0321afd4885', u'links': [{u'href': u'http://localhost/v1/volume/connectors/4cbdb9b6-495b-4f6b-aad2-f0321afd4885', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/4cbdb9b6-495b-4f6b-aad2-f0321afd4885', u'rel': u'bookmark'}], u'extra': {}}]} {16} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_invalid_param [0.093272s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.107820s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.527582s] ... 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-02-15T13:14:27.984682+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {16} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.100678s] ... ok {27} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.074730s] ... ok {16} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.139272s] ... 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-aadb1721-a0a6-467a-ae79-757b5f710802 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.074700s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.644615s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.014458s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.024830s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-307100ac-e95e-4f47-8ce6-58fd6f9e8bcd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups [0.016361s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.073983s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.024667s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.013495s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.015378s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.044573s] ... ok {16} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.044986s] ... ok {16} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.025159s] ... ok {16} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.107522s] ... ok {16} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.119852s] ... ok {16} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.061317s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.104656s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.029168s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.066750s] ... ok {16} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.040124s] ... ok {16} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.064656s] ... ok {16} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.012370s] ... ok {16} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.157296s] ... 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-b607f782-b7e6-41de-a1e6-cc9b610012fc 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-02-15T13:14:26.519945+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-02-15T13:14:26.519945+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'}]} {16} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.042807s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.155450s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_invalid_job_queue [0.047603s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance [0.180989s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.014285s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.013535s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.110579s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.126653s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_invalid_component_type [0.104724s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.162643s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.138274s] ... 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-bd87d646-1582-4167-a054-492ea90fef6e 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\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.073073s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.034267s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.331219s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.111880s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.083577s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.112998s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.214011s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.135830s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.122395s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_enclosure_group_invalid [0.038911s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_in_use_by_oneview [0.258681s] ... ok {16} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_properties [0.035270s] ... ok {16} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.150515s] ... ok {16} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.183754s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.122718s] ... 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'}]} {16} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.028057s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.091461s] ... 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-5272ca78-2dc5-49ae-86a2-be72ce344aa7 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.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.095818s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.138414s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.136773s] ... ok GET: /v1/lookup?node_uuid=23aec56f-3480-459a-b335-cc31e1b7bba4 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'23aec56f-3480-459a-b335-cc31e1b7bba4', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/23aec56f-3480-459a-b335-cc31e1b7bba4', u'rel': u'self'}, {u'href': u'http://localhost/nodes/23aec56f-3480-459a-b335-cc31e1b7bba4', 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'}}} {8} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.096036s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.013816s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.014027s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs [0.014549s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs_fail [0.014308s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface_fail [0.014706s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.120145s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.147700s] ... ok {16} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_disabled [0.023360s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retry [0.084220s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.073485s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_force_boot_device_persistent [0.162505s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_power_validate [0.171124s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_already_off [0.114310s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_ok [0.120877s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.111016s] ... ok {16} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.197715s] ... ok {16} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.155909s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.079380s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.029022s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.024825s] ... ok PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-031347f4-2abd-448c-bc1d-1ab61799fb6b 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.\"}"} {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.024379s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.052971s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.021750s] ... ok {16} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state [0.263155s] ... ok {16} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.034624s] ... ok {16} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.014022s] ... ok {16} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_power_interface [0.027526s] ... ok {16} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_iscsi [0.121159s] ... ok {16} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.020829s] ... ok {16} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.025043s] ... ok {16} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.135319s] ... ok {16} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.021055s] ... ok {16} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.013763s] ... ok {16} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.027872s] ... ok {16} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.029070s] ... ok {16} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.030224s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version [0.016932s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.013812s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.017192s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.016412s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.014140s] ... 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-a1f6bdc7-4701-4c09-8eb3-942a55145bab 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'\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.055699s] ... 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-869cb6df-2553-44b5-a2f1-2d9825a39dfa 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-02-15T13:14:27.078231+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_add_multi [0.135535s] ... 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-2036c673-853e-402b-8086-d8759dae1f42 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_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.077711s] ... 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-058627b8-a8ce-48d8-9cc0-7d184df36c3f 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\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.118738s] ... ok GET: /v1/portgroups/527ac585-80cf-4564-9122-889e4f1f9ffe/ports {} GOT:{u'ports': [{u'uuid': u'3041995c-ee37-481a-a8d8-dd4e629aa754', u'links': [{u'href': u'http://localhost/v1/ports/3041995c-ee37-481a-a8d8-dd4e629aa754', u'rel': u'self'}, {u'href': u'http://localhost/ports/3041995c-ee37-481a-a8d8-dd4e629aa754', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'f824818a-b73b-43b0-9764-074bd19a9697', u'links': [{u'href': u'http://localhost/v1/ports/f824818a-b73b-43b0-9764-074bd19a9697', u'rel': u'self'}, {u'href': u'http://localhost/ports/f824818a-b73b-43b0-9764-074bd19a9697', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/portgroups/527ac585-80cf-4564-9122-889e4f1f9ffe/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'3041995c-ee37-481a-a8d8-dd4e629aa754', u'links': [{u'href': u'http://localhost/v1/ports/3041995c-ee37-481a-a8d8-dd4e629aa754', u'rel': u'self'}, {u'href': u'http://localhost/ports/3041995c-ee37-481a-a8d8-dd4e629aa754', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'527ac585-80cf-4564-9122-889e4f1f9ffe', 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-02-15T13:14:26.845723+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'f824818a-b73b-43b0-9764-074bd19a9697', u'links': [{u'href': u'http://localhost/v1/ports/f824818a-b73b-43b0-9764-074bd19a9697', u'rel': u'self'}, {u'href': u'http://localhost/ports/f824818a-b73b-43b0-9764-074bd19a9697', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'527ac585-80cf-4564-9122-889e4f1f9ffe', 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-02-15T13:14:26.849981+00:00'}]} GET: /v1/portgroups/527ac585-80cf-4564-9122-889e4f1f9ffe/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'3041995c-ee37-481a-a8d8-dd4e629aa754', u'links': [{u'href': u'http://localhost/v1/ports/3041995c-ee37-481a-a8d8-dd4e629aa754', u'rel': u'self'}, {u'href': u'http://localhost/ports/3041995c-ee37-481a-a8d8-dd4e629aa754', 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=3041995c-ee37-481a-a8d8-dd4e629aa754'} GET: /v1/portgroups/527ac585-80cf-4564-9122-889e4f1f9ffe/ports/3b80499e-72c1-4484-9a7c-fa238fd9d720 {} 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/527ac585-80cf-4564-9122-889e4f1f9ffe/ports/8c768e8e-7a9b-41e7-8ac8-6b907b50f3d6 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01176558-582c-46b0-81ed-cdcdf560601d 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.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.246162s] ... 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-2fd77644-d9d2-4cc5-b77e-2b1fb47cddb2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {31} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.071795s] ... 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-9eecabfa-3a15-4a57-9385-9ce525baed0e 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.070098s] ... 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-c467f90e-7a84-42cd-934a-bb7cf007112c 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.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.049845s] ... ok GET: /v1/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'links': [{u'href': u'http://localhost/v1/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:27.344211+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/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /v1/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'links': [{u'href': u'http://localhost/v1/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:27.344211+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/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'links': [{u'href': u'http://localhost/v1/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:27.344211+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/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/02195066-efb9-42e2-a1e8-7fdc3ba2a1e3/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.140624s] ... ok PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-46a93a16-f2f7-4983-ad2b-7d7a3283f441 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.058816s] ... 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-b14055f4-2bb1-47a2-9cde-487b45b7cdc1 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.\"}"} {27} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.084473s] ... 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-ba2b9fff-facb-4eac-8299-ac05693dc0de 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.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.084584s] ... ok PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c07c5b8-1205-481a-a3c9-1e1975236de7 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.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.054575s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.014772s] ... 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-922214ec-b09a-41f6-a82e-245f4ec6491d 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-02-15T13:14:26.934862+00:00"} {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.130804s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd2dbf59-0554-446a-9b6a-fab839cc0be2 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-02-15T13:14:26.931581+00:00", "updated_at": "2018-02-15T13:14:26.939701+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-e6f64b91-3031-4332-92d3-1257d3ab887a 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-02-15T13:14:26.931581+00:00", "updated_at": "2018-02-15T13:14:26.939701+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.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.016483s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.176523s] ... ok PATCH: /v1/nodes/22e5d171-a8c8-4971-8579-aa1866b6fc61 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-298207fa-fedb-48ad-a4fa-2f61d8e85243 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/22e5d171-a8c8-4971-8579-aa1866b6fc61", "rel": "self"}, {"href": "http://localhost/nodes/22e5d171-a8c8-4971-8579-aa1866b6fc61", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/22e5d171-a8c8-4971-8579-aa1866b6fc61/states", "rel": "self"}, {"href": "http://localhost/nodes/22e5d171-a8c8-4971-8579-aa1866b6fc61/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "22e5d171-a8c8-4971-8579-aa1866b6fc61", "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-02-15T13:14:31.733176+00:00", "ports": [{"href": "http://localhost/v1/nodes/22e5d171-a8c8-4971-8579-aa1866b6fc61/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e5d171-a8c8-4971-8579-aa1866b6fc61/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.109860s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.015875s] ... 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-1f567db9-04a5-434a-a484-5d9a968dfa24 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-02-15T13:14:27.123094+00:00", "updated_at": "2018-02-15T13:14:27.130795+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-c316fcc7-9e58-4bce-b538-91e5a29fa59f 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-02-15T13:14:27.123094+00:00", "updated_at": "2018-02-15T13:14:27.130795+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.170427s] ... 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-0ee44acd-c42b-47ed-87cd-2469221565e1 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.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.048449s] ... 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 "} {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.046288s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-36be7a7c-0a63-4bf2-bf1b-2e4a8f885b5c 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.\"}"} {9} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.061526s] ... ok GET: /v1/nodes?associated=true&maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': u'acc16991-6084-4dbb-a13a-d08e15ccb461', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/98636c87-e3a5-423b-89d8-ac7829bb2869', u'rel': u'self'}, {u'href': u'http://localhost/nodes/98636c87-e3a5-423b-89d8-ac7829bb2869', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'98636c87-e3a5-423b-89d8-ac7829bb2869'}, {u'instance_uuid': u'db9332b8-d20d-4e77-9b24-c26883345971', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/bc9c308b-c42d-4f4a-b799-f5a7cd32865c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bc9c308b-c42d-4f4a-b799-f5a7cd32865c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'bc9c308b-c42d-4f4a-b799-f5a7cd32865c'}, {u'instance_uuid': u'75941aa9-9e5e-4f5f-ae79-6085999ce6cd', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/49ae6b50-1de6-45fa-bed3-5ece3f2a8ca1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/49ae6b50-1de6-45fa-bed3-5ece3f2a8ca1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'49ae6b50-1de6-45fa-bed3-5ece3f2a8ca1'}, {u'instance_uuid': u'8ba407a9-d26b-4185-9918-fb5464c07d18', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4abf7f3e-eb17-4adf-9983-a4ee00cc40aa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4abf7f3e-eb17-4adf-9983-a4ee00cc40aa', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4abf7f3e-eb17-4adf-9983-a4ee00cc40aa'}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': u'66428ec9-4391-49ae-8f03-b6f1757cb1e4', 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'66428ec9-4391-49ae-8f03-b6f1757cb1e4', 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'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.628371s] ... 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-63878a90-85a4-46ae-a38f-2770ca6bcc8f 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-02-15T13:14:28.357853+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.102825s] ... 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-6ba3dad1-93d3-437e-9e43-7536f1a037ca 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'\"}"} {21} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.062105s] ... 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-0a7bb0aa-8170-44e2-bcf8-382399476bfc 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-02-15T13:14:27.376110+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {20} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.107697s] ... 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-b609c19c-21de-4496-9849-efa1985c0547 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.\"}"} {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.073442s] ... 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-8662558e-a3a5-4cef-80f9-10813ec85a21 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'\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.063061s] ... 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 "} {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.039127s] ... 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-937d6a29-fac0-465a-a74c-3f0e3914befe 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\"}"} {4} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.058304s] ... 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-edd57627-91bc-4245-86bd-e163de173365 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\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.097915s] ... 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-bed57617-6988-4a47-82df-33649f01572d 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.\"}"} {25} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.062156s] ... 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-2f70a785-ef90-47a1-904e-bd3c9c00202f 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.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.096747s] ... 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'43b2a9e4-40cd-491b-a756-e8059898d2b7', u'links': [{u'href': u'http://localhost/v1/portgroups/43b2a9e4-40cd-491b-a756-e8059898d2b7', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/43b2a9e4-40cd-491b-a756-e8059898d2b7', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.082154s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-e5a1815e-f997-4ff7-94ce-86d6a635c79d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {17} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.081593s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-db96de7a-f203-4584-92f9-697313fc7c1d {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {4} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.038279s] ... ok PATCH: /v1/nodes/ec68640b-3ac0-4c09-b3d4-e8d2755a5406 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c215188-9663-40e5-9698-c3fad159c147 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\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.083281s] ... 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.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.044146s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_dynamic_drivers [0.014480s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_no_pin [0.015818s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class_fail [0.014710s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.013204s] ... 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-b6a0fffc-e853-4f6b-9260-7cbaaa96acc7 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.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.077832s] ... 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-02-15T13:14:32.126154+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-02-15T13:14:32.126154+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'******'}} {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.133534s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2dfe3870-84a7-47db-b115-eef7f9a1aa58 {"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)\"}"} {20} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.038834s] ... ok {20} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.036338s] ... 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-02-15T13:14:28.462398+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'}} {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.077868s] ... 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-f21a7f1a-3567-482d-a77e-1591adbc344c 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.055982s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=358c0afe-e48c-40cf-b807-991144fbf90a {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a622896d-93df-4ede-a76e-d22008620241 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_ramdisk.TestLookup.test_restrict_lookup [0.071938s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.032398s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.017211s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.013172s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.020427s] ... ok func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. {20} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.022898s] ... 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-0ff87fa9-fbd7-4d32-b96a-eb5565531995 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-02-15T13:14:27.109473+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {"bond_param": "100"}, "name": "pg.1"} GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/168a7877-2dcf-4cf5-a93b-f373b411656a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/168a7877-2dcf-4cf5-a93b-f373b411656a', 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'168a7877-2dcf-4cf5-a93b-f373b411656a', 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'b4f86e89-8d5f-4ace-961c-7d1698acb9d1', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:31.446739+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/168a7877-2dcf-4cf5-a93b-f373b411656a/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/168a7877-2dcf-4cf5-a93b-f373b411656a/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/41dadc61-2de2-4481-8deb-f2277b81d38c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/41dadc61-2de2-4481-8deb-f2277b81d38c', 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'41dadc61-2de2-4481-8deb-f2277b81d38c', 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'52b08f8e-d64c-4ef5-ae85-7bcb2fc559bb', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:31.455859+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/41dadc61-2de2-4481-8deb-f2277b81d38c/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/41dadc61-2de2-4481-8deb-f2277b81d38c/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/3d9b0d70-7bf6-46bf-a405-25351792de35', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3d9b0d70-7bf6-46bf-a405-25351792de35', 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'3d9b0d70-7bf6-46bf-a405-25351792de35', 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'e624e200-e0ae-4164-b050-27a27f59a68c', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-02-15T13:14:31.465208+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3d9b0d70-7bf6-46bf-a405-25351792de35/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3d9b0d70-7bf6-46bf-a405-25351792de35/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=3d9b0d70-7bf6-46bf-a405-25351792de35'} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.211489s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.102392s] ... 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-cbacfefa-98a9-418f-b176-62d218a8ff7b 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-02-15T13:14:27.088554+00:00", "updated_at": "2018-02-15T13:14:27.096993+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/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-3861ba19-a9a9-4e8b-935a-906f65e4fec2 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-02-15T13:14:26.900955+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.111616s] ... ok {21} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.107556s] ... ok PATCH: /v1/nodes/7932f312-c571-441a-b3bb-63fa913a804c [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-75057a34-c9a5-4c39-88c4-7b5d5204a41e 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/7932f312-c571-441a-b3bb-63fa913a804c", "rel": "self"}, {"href": "http://localhost/nodes/7932f312-c571-441a-b3bb-63fa913a804c", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/7932f312-c571-441a-b3bb-63fa913a804c/states", "rel": "self"}, {"href": "http://localhost/nodes/7932f312-c571-441a-b3bb-63fa913a804c/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "7932f312-c571-441a-b3bb-63fa913a804c", "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/7932f312-c571-441a-b3bb-63fa913a804c/volume", "rel": "self"}, {"href": "http://localhost/nodes/7932f312-c571-441a-b3bb-63fa913a804c/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-02-15T13:14:26.756975+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/7932f312-c571-441a-b3bb-63fa913a804c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7932f312-c571-441a-b3bb-63fa913a804c/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/7932f312-c571-441a-b3bb-63fa913a804c/ports", "rel": "self"}, {"href": "http://localhost/nodes/7932f312-c571-441a-b3bb-63fa913a804c/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.114923s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {20} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.027299s] ... ok PATCH: /v1/portgroups/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "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. "} {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.042614s] ... ok {20} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_invalid_network_interface [0.025214s] ... ok {20} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.030509s] ... ok {20} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_classic_drivers_to_migrate [0.068639s] ... ok {20} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.021488s] ... ok {20} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_neutron_dhcp [0.024254s] ... ok {20} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.033452s] ... ok {20} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.019782s] ... ok {20} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.015533s] ... ok {20} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_code [0.016560s] ... ok {20} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.025733s] ... ok {20} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.134903s] ... ok {20} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.096848s] ... 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 "} {20} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.013508s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.043735s] ... ok {20} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.015866s] ... ok {20} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init___radosgw [0.116762s] ... ok {20} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha1 [0.013302s] ... ok {20} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.021535s] ... ok {20} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.013237s] ... ok {20} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.270711s] ... ok {20} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.067924s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.313262s] ... ok {20} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.310428s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status [0.246594s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.031752s] ... ok {20} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.025972s] ... ok {20} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.335250s] ... ok {20} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.122435s] ... ok {20} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state [0.360258s] ... ok {20} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.098211s] ... ok {20} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.149759s] ... ok {20} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.025701s] ... ok {20} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.021888s] ... ok {20} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.022031s] ... ok {20} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.018853s] ... ok {20} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.017876s] ... ok {20} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.143356s] ... ok {20} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.199418s] ... ok {20} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.019103s] ... ok {20} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.024332s] ... ok {20} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.086569s] ... 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-3655a6fb-4ea5-4f18-beb3-97215e5c27b5 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 _\"}"} {20} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.033019s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.083071s] ... ok {20} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.050302s] ... 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-02-15T13:14:32.468644+00:00'} {20} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.072506s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.073947s] ... 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-02-15T13:14:27.134241+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-02-15T13:14:27.134241+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} {20} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.051489s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.110204s] ... ok {20} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.015899s] ... ok {20} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.147064s] ... ok {20} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.152821s] ... ok {20} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_deprecated_opts [0.038823s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.088011s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.056489s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.036802s] ... ok GET: /v1/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'7ce50ddd-6573-46ef-94d5-1faddae3046e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:30.461730+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /v1/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'7ce50ddd-6573-46ef-94d5-1faddae3046e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:30.461730+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'7ce50ddd-6573-46ef-94d5-1faddae3046e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/7ce50ddd-6573-46ef-94d5-1faddae3046e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:30.461730+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.151368s] ... ok {20} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.036679s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_no_boot_iso [0.033153s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.091704s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.032607s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.027005s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.055686s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.014146s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.111073s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_unknown_exception [0.102302s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.094024s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_checksum_validation_error [0.722776s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.032718s] ... ok {20} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.097131s] ... 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-02-15T13:14:32.717454+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'******'}} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.131785s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.154801s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.029627s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.091026s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.070573s] ... ok {20} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.095225s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.163473s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.102710s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.166778s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.129870s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.099902s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.104909s] ... ok {20} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.110862s] ... 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': '1a3b4152-e0d2-4c9b-9528-dcfaf05a507b'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-813ef418-8dd3-457c-aa77-b6427918a843 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 1a3b4152-e0d2-4c9b-9528-dcfaf05a507b 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': 'daefbae2-0ba6-4402-b9e9-c0916978f18e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-575b4a3b-263c-4f95-a30a-c81cb3274ba1 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 daefbae2-0ba6-4402-b9e9-c0916978f18e 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': '6c4fa162-12e0-4295-80a4-ae62eaf975cf'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2fffd1be-2e5c-40b4-8b96-858247423c38 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 6c4fa162-12e0-4295-80a4-ae62eaf975cf 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': 'ccc676b8-6e9d-4576-935c-f00f7ff98f6c'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-981aec80-f5f3-410b-a73a-385c04cd01d9 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 ccc676b8-6e9d-4576-935c-f00f7ff98f6c 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': 'c5ac4318-0f6d-49ac-b7bd-040a1d2dc8ef'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-048d0887-c3fc-4eac-948d-ff1a9f07df04 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 c5ac4318-0f6d-49ac-b7bd-040a1d2dc8ef 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': 'd5481e2e-f091-43f2-b40f-5aba0ff68c71'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-55d35b7a-4bf8-4c37-a7dd-8b13c2dc76d2 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 d5481e2e-f091-43f2-b40f-5aba0ff68c71 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': '4f3a9c14-bb08-4294-aa0b-90abec913cd1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-114e20b0-b23b-43db-bc36-8e026594a56b 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 4f3a9c14-bb08-4294-aa0b-90abec913cd1 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': 'd8ebb99f-f289-415e-91df-07827fed0de9'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9f05647f-da6f-48dc-9cae-c1cd428e7173 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 d8ebb99f-f289-415e-91df-07827fed0de9 with driver fake, these node fields must be set to None: vendor_interface.\"}"} {20} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.103585s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_classic_driver_specify_interface [0.283312s] ... ok {20} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client [0.055804s] ... ok {20} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_active_node [0.714676s] ... ok {20} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_raise_exception [0.237871s] ... ok {20} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate [0.092462s] ... ok {20} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot [0.102006s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.088613s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.112208s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.182368s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot [0.099187s] ... ok {20} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy [0.143666s] ... 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-02-15T13:14:28.102551+00:00'}]} {20} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_missing_command_result [0.119591s] ... ok {20} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.050706s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.017105s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.094449s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.038750s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.119376s] ... ok {20} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.093081s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.099385s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.087777s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.040742s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.098738s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_ok [0.094106s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.318125s] ... ok {20} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.320863s] ... 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-cbe236dc-cce9-4a88-ad5e-a83bb15023a5 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.\"}"} {24} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.050357s] ... ok {20} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_whole_disk_image [0.035085s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_types.TestListType.test_list_type [0.013607s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_network_interface [0.014317s] ... ok {20} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_rescue_ramdisk [0.031710s] ... ok {20} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.025460s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_false [0.014994s] ... ok {20} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_password [0.069684s] ... ok {20} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_fail [0.234415s] ... ok {20} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.101047s] ... ok {20} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_existing_interfaces [0.021760s] ... ok {20} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_override_with_cimc_interfaces [0.098183s] ... ok {20} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.103181s] ... ok {20} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_not_mounted_exception [0.003768s] ... ok {20} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.128962s] ... ok {20} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.021037s] ... ok {20} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.016073s] ... ok {20} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.016218s] ... ok {20} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.014147s] ... ok {20} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.017850s] ... ok {20} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.026856s] ... ok {20} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.025342s] ... ok {20} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.025338s] ... ok GET: /v1/ports/?limit=3 {} GOT:{u'ports': [{u'uuid': u'2b57bc01-be59-49e0-baf7-c57f26bc5de8', u'links': [{u'href': u'http://localhost/v1/ports/2b57bc01-be59-49e0-baf7-c57f26bc5de8', u'rel': u'self'}, {u'href': u'http://localhost/ports/2b57bc01-be59-49e0-baf7-c57f26bc5de8', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'6b535dc7-38b1-484f-bac3-8d783de931f5', u'links': [{u'href': u'http://localhost/v1/ports/6b535dc7-38b1-484f-bac3-8d783de931f5', u'rel': u'self'}, {u'href': u'http://localhost/ports/6b535dc7-38b1-484f-bac3-8d783de931f5', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'1d947a71-dd9c-4765-8856-649b6fc9f120', u'links': [{u'href': u'http://localhost/v1/ports/1d947a71-dd9c-4765-8856-649b6fc9f120', u'rel': u'self'}, {u'href': u'http://localhost/ports/1d947a71-dd9c-4765-8856-649b6fc9f120', 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=1d947a71-dd9c-4765-8856-649b6fc9f120'} {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.121985s] ... 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-40afda91-c340-4be8-9d93-1959d8f1f315 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\"}"} {30} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.088396s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.013324s] ... 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 "} {24} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.043722s] ... 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.045553s] ... ok {4} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.036190s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-764d392b-5d82-42d8-91dc-7314abac0f73 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 _\"}"} Malformed option m1.key1value1 {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.083168s] ... ok {4} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.021832s] ... ok {4} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.015533s] ... ok {4} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.019431s] ... ok {4} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.017276s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.018630s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.023041s] ... 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-50804bfc-372f-48aa-99bd-fe00409fe60b 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'}} {27} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.134939s] ... ok {4} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.021921s] ... ok {4} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_mkisofs_fails [0.034764s] ... ok {4} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.016514s] ... ok {4} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.101660s] ... ok {4} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.017455s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_ipxe_config_uefi [0.095728s] ... ok {4} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.013031s] ... ok {4} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.012853s] ... ok {4} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.116165s] ... ok {4} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.037722s] ... ok {4} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.211343s] ... ok {4} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.267877s] ... ok {4} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.099441s] ... ok {4} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.102471s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.290791s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_with_step_name [0.112369s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_automated_clean [0.285061s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.306732s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.964949s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.406302s] ... ok {4} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.023857s] ... 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 "} {24} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.043217s] ... ok {4} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.206451s] ... ok {4} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.205826s] ... ok {4} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_iface_not_supported [0.103364s] ... ok {4} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.137602s] ... ok {4} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device [0.083942s] ... ok {4} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.145085s] ... ok {4} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.104264s] ... ok {4} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.089615s] ... ok {4} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.074082s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.020593s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.023532s] ... ok {4} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.047214s] ... ok {4} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.129354s] ... ok {4} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.095250s] ... ok {4} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.025530s] ... ok {4} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.042183s] ... ok {4} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.034167s] ... ok {4} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.041185s] ... ok {4} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.038889s] ... ok {4} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.103088s] ... 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'}]} {23} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.101041s] ... ok {4} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.053224s] ... ok {4} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.038716s] ... ok {4} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.058354s] ... ok {4} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.044664s] ... ok {4} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.033985s] ... ok {4} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_noglance [0.133257s] ... ok {4} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state [0.094418s] ... ok {4} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_ok [0.100053s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.077707s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_MissingParam [0.090561s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.099642s] ... 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-02-15T13:14:32.546142+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'} {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.089848s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.038315s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.032248s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.037436s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.144740s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_with_logs [0.086674s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown [0.111355s] ... 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-0fbec23f-07a1-4eac-8489-e4da30897820 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-02-15T13:14:28.571082+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/92175908-8a05-4e38-861c-4257548cbc3b [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-384e7d56-4701-4630-ae78-99dd72b168eb 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.\"}"} {4} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_timeout [0.093301s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.094775s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.067425s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.090368s] ... ok {15} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.064547s] ... ok {15} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.021391s] ... ok {15} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.023982s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.092584s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_boot_iso_name [0.037831s] ... ok {15} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.100024s] ... ok {15} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_no_refresh [0.053091s] ... ok {15} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.018141s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_deploy_iso_name [0.033155s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.034892s] ... ok GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9a5119fd-bcef-4b49-88a4-c03b1e0ea7d5 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.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.049851s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.077684s] ... ok {15} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.088059s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b08eced6-cb0e-44f4-9863-e552950361e8 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {27} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.039942s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.090155s] ... ok {15} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.014884s] ... ok GET: /v1/volume/targets?sort_key=uuid {} GOT:{u'targets': [{u'boot_index': 2, u'uuid': u'9617b391-6b04-415e-a2bd-9f9d85a47868', u'links': [{u'href': u'http://localhost/v1/volume/targets/9617b391-6b04-415e-a2bd-9f9d85a47868', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9617b391-6b04-415e-a2bd-9f9d85a47868', 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'9e68abbc-e030-4dcb-91aa-8a74299ef3f3', u'links': [{u'href': u'http://localhost/v1/volume/targets/9e68abbc-e030-4dcb-91aa-8a74299ef3f3', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9e68abbc-e030-4dcb-91aa-8a74299ef3f3', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 0, u'uuid': u'e0f59519-fdc2-428e-afdf-787accde56d3', u'links': [{u'href': u'http://localhost/v1/volume/targets/e0f59519-fdc2-428e-afdf-787accde56d3', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/e0f59519-fdc2-428e-afdf-787accde56d3', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.112199s] ... ok {27} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.022449s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.212941s] ... ok {15} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.041362s] ... ok {27} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.125956s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.031020s] ... ok {15} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.053780s] ... ok {27} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.119415s] ... ok {15} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.101320s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.092344s] ... ok {27} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_no_interfaces [0.119865s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.101808s] ... ok {27} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.083968s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.041183s] ... ok {27} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_true [0.013216s] ... ok {4} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_get_properties [0.037103s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.117821s] ... ok {27} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.015988s] ... ok {4} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_cleaning [0.123925s] ... ok {27} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.021722s] ... ok {4} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_validate [0.089095s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.035553s] ... ok {27} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_uefi [0.088726s] ... ok {4} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_inspect_hardware [0.107633s] ... ok {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.014113s] ... ok {27} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.032991s] ... ok {4} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.124608s] ... ok {27} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.018379s] ... 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-3f5bc1e6-22a2-477a-a9cb-581f3e271068 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-02-15T13:14:30.616149+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5 [0.013499s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.102337s] ... ok {4} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.148413s] ... ok {27} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.086373s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.318190s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_race [0.094701s] ... ok {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.014868s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.364317s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.132674s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.158311s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.103550s] ... ok {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.016092s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_error [0.322539s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.014561s] ... ok {27} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.320683s] ... ok {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.016443s] ... ok {4} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.019297s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.030276s] ... ok {27} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.033338s] ... ok {15} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.207601s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.025150s] ... ok {27} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_snmp [0.209299s] ... ok {15} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.301110s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8027c4c0-8c0a-48d6-b25d-050840032420 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.\"}"} {4} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.038022s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.078703s] ... ok {27} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.308646s] ... ok {15} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.052478s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.085292s] ... 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-11081ff7-2666-4352-94e6-c753259f7898 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.\"}"} {27} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.117268s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.615215s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.065379s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.031590s] ... 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'13f2560c-2b74-4355-b626-93247889b057', u'links': [{u'href': u'http://localhost/v1/portgroups/13f2560c-2b74-4355-b626-93247889b057', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/13f2560c-2b74-4355-b626-93247889b057', u'rel': u'bookmark'}], u'name': u'pg-0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'838cc758-05e6-41e0-85d9-d6e2649c68c7', u'links': [{u'href': u'http://localhost/v1/portgroups/838cc758-05e6-41e0-85d9-d6e2649c68c7', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/838cc758-05e6-41e0-85d9-d6e2649c68c7', 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'13f2560c-2b74-4355-b626-93247889b057', u'links': [{u'href': u'http://localhost/v1/portgroups/13f2560c-2b74-4355-b626-93247889b057', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/13f2560c-2b74-4355-b626-93247889b057', 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=13f2560c-2b74-4355-b626-93247889b057'} {15} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.149848s] ... ok {27} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.191157s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.163807s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console [0.119481s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.633125s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.092652s] ... ok {27} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift [0.017322s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [1.192222s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.041071s] ... ok {27} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [4.134802s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.040540s] ... ok {27} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.109235s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.113663s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.037745s] ... ok {15} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_agent_ilo [0.210180s] ... ok {15} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.146733s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.118697s] ... ok {27} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_vendor_interface_not_supported [0.132839s] ... ok {15} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.206534s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.100233s] ... ok {27} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.025570s] ... ok {15} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.020106s] ... ok {27} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.019293s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.097236s] ... ok {27} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.017018s] ... ok {15} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.018745s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_rescue [0.113645s] ... ok {27} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.044773s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.031517s] ... ok {15} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.926429s] ... ok {27} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.068718s] ... ok {4} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_fail [0.217305s] ... 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-02-15T13:14:27.184248+00:00'}]} {15} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_validate_fail [0.091562s] ... ok {27} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.096893s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.104481s] ... ok {4} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_for_all_in_tree_drivers [0.020304s] ... ok {15} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.103982s] ... ok {27} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.101392s] ... ok {4} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_deploy_interface [0.025036s] ... ok {27} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_2_some_conductors [0.116916s] ... ok {15} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.116063s] ... ok PATCH: /v1/nodes/8f50d834-746a-4c76-88f7-effc1e1a7bbe [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-857b79be-3841-4fff-8792-a15193d2904e 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 8f50d834-746a-4c76-88f7-effc1e1a7bbe can not be updated while a state transition is in progress.\"}"} {4} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver [0.005245s] ... ok {15} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_is_locked [0.089034s] ... ok {27} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.025154s] ... ok {4} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.034050s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.176191s] ... ok {27} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_and_drivers [0.049648s] ... 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-1fab5c5b-6a3f-435d-ab91-f887a1152610 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\\\"\"}"} {24} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.052873s] ... ok {4} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.026166s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.022458s] ... ok {27} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.032640s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.021662s] ... ok {4} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.013611s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.021990s] ... ok {27} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.048899s] ... ok {27} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.040094s] ... ok {4} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.013240s] ... ok {15} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.024772s] ... ok {4} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.023183s] ... ok {27} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.108070s] ... ok {15} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.193853s] ... ok {4} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.031753s] ... ok {27} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.103201s] ... ok {15} ironic.tests.unit.db.test_api.MigrateToHardwareTypesTestCase.test_migrate_unsupported [0.091341s] ... ok {27} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.040499s] ... ok {15} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.049491s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.109956s] ... ok {15} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.033588s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.070966s] ... ok {15} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.126919s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed [0.139153s] ... ok {15} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device [0.101547s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.060718s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.029183s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.049901s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.037513s] ... ok {27} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.206833s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.039359s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_uuid [0.094899s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.196807s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.111210s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_uefi_no_glance_image [0.098187s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.108634s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.146209s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.117601s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.056610s] ... ok 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 "} {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.042365s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.469778s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.152488s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.046947s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.094772s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.030900s] ... ok {27} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.051784s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.089385s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.101870s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.038092s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.124122s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.113942s] ... ok {27} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.027851s] ... ok {15} 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.054185s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.301532s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif_removal_no_deprecation [0.090197s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.089097s] ... 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-7f78a87f-59c4-4ff9-b4ce-69fbf54d6665 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-02-15T13:14:27.053576+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-02-15T13:14:27.053576+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.TestPost.test_create_volume_connector_valid_extra [0.132573s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.118139s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.118279s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.099031s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.067970s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.068111s] ... ok 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 "} {27} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.110786s] ... ok {24} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.041619s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.095503s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.098065s] ... ok {24} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.034193s] ... ok {27} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.088338s] ... ok {24} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_no_interfaces_set [0.026159s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_get_properties [0.041335s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_deploy_iso_with_file [0.096441s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_node_is_in_use_by_oneview [0.111266s] ... ok {24} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_valid_interfaces [0.030755s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_true [0.115122s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_and_existing_cap [0.074904s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.093072s] ... ok {24} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.151557s] ... ok {27} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_node_in_use_by_oneview [0.103527s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.129719s] ... ok {24} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_not_allowed_interfaces [0.121098s] ... ok PATCH: /v1/nodes/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e209ea01-e7ac-4224-90d6-14246686d1cf 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/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2897bc91-f74c-41ad-9c3b-e9fd1e89b1eb 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/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cdfb3a29-0c4a-4e38-ac51-61a82c8bcc9c 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/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6fa5f15f-2dbb-4ceb-819e-33b919009de0 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/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8e4de9cd-10ef-48f8-8259-f1923fb66fce 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/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b87e01a1-2ded-484e-81bf-5ff7c6f1b51f 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/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-05986571-7016-4cc3-81ec-db3fe1aeafe4 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/4e4cc3cd-8139-42a8-94f9-b988bc5ce542 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2e2f3846-9ae2-48b4-8d5c-dbf620184198 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.\"}"} {15} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.313920s] ... 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-b37f13d5-a80b-42ed-a7b1-4615059cd382 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-02-15T13:14:27.609309+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"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.205888s] ... ok {27} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.102331s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.117452s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.099784s] ... ok {24} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__deprecated_opts [0.029345s] ... 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-581c430c-aaa7-46ac-a94c-f9e264f4e235 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\"}"} {27} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_error [0.201392s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.125111s] ... ok {24} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.013809s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.053821s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.013690s] ... ok {27} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_running [0.082787s] ... ok {24} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.022724s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.097284s] ... ok {24} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_with_swift [0.018127s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.097379s] ... ok {27} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_get_power_state_fails [0.083718s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_fail [0.014347s] ... ok {24} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.012695s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info [0.029927s] ... ok {27} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.014769s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.015767s] ... ok {24} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.017472s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sh [0.030770s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.015059s] ... ok {24} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.014082s] ... ok GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'537eaa38-9306-4634-88fb-6f0ae836a92b', u'links': [{u'href': u'http://localhost/v1/ports/537eaa38-9306-4634-88fb-6f0ae836a92b', u'rel': u'self'}, {u'href': u'http://localhost/ports/537eaa38-9306-4634-88fb-6f0ae836a92b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'c16831ab-5ab5-4369-bfd6-4155a518f150', u'links': [{u'href': u'http://localhost/v1/ports/c16831ab-5ab5-4369-bfd6-4155a518f150', u'rel': u'self'}, {u'href': u'http://localhost/ports/c16831ab-5ab5-4369-bfd6-4155a518f150', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'1295469b-fa20-430b-8df5-556d21e5498b', u'links': [{u'href': u'http://localhost/v1/ports/1295469b-fa20-430b-8df5-556d21e5498b', u'rel': u'self'}, {u'href': u'http://localhost/ports/1295469b-fa20-430b-8df5-556d21e5498b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'c7f17eb2-9091-4980-b7cb-4d62c593ce54', u'links': [{u'href': u'http://localhost/v1/ports/c7f17eb2-9091-4980-b7cb-4d62c593ce54', u'rel': u'self'}, {u'href': u'http://localhost/ports/c7f17eb2-9091-4980-b7cb-4d62c593ce54', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:33'}, {u'uuid': u'82c2245b-a9b4-4939-8d8d-cc3b7328908f', u'links': [{u'href': u'http://localhost/v1/ports/82c2245b-a9b4-4939-8d8d-cc3b7328908f', u'rel': u'self'}, {u'href': u'http://localhost/ports/82c2245b-a9b4-4939-8d8d-cc3b7328908f', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:34'}]} {27} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.045951s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_properties [0.029510s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.148647s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.014816s] ... ok {24} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.033916s] ... ok {27} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.034537s] ... ok {15} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail_with_hardware_on [0.090266s] ... 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-8d996144-a427-4d0d-ab71-2d4c048e886f 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'} Data migrations have not completed. Please re-run. PATCH: /v1/volume/targets/ae707b81-dcd1-460a-831a-561e19d61df9 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-743c87e5-f33e-4b9b-9501-c09b2f287c8a 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 ae707b81-dcd1-460a-831a-561e19d61df9 could not be found.\"}"} {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.022304s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.409507s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.123158s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.032080s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.312812s] ... ok {24} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.019047s] ... ok {0} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.024663s] ... ok {8} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.028175s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.038996s] ... ok {8} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.030048s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.027678s] ... ok {24} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.104542s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.014322s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.030586s] ... ok {8} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.016566s] ... ok {15} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.092888s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.013853s] ... ok {24} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.101529s] ... ok {27} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.027129s] ... ok {8} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000519s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.125723s] ... ok {8} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.020926s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_refresh [0.061984s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.020236s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_exc [0.126075s] ... ok {24} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.093463s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.022801s] ... ok {8} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.014879s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.035498s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_missing_steps [0.118069s] ... ok {24} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.047993s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.017867s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.090995s] ... ok {8} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.031696s] ... 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-02-15T13:14:32.588999+00:00'} GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'a97f7782-fae7-4665-a5d1-9728130ba66c', u'links': [{u'href': u'http://localhost/v1/volume/connectors/a97f7782-fae7-4665-a5d1-9728130ba66c', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/a97f7782-fae7-4665-a5d1-9728130ba66c', 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'61e20d76-1792-4e40-aa2c-1164701222ce', u'links': [{u'href': u'http://localhost/v1/volume/connectors/61e20d76-1792-4e40-aa2c-1164701222ce', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/61e20d76-1792-4e40-aa2c-1164701222ce', 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'1b758e1c-44b7-4c97-883b-9e5ffb5f6689', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1b758e1c-44b7-4c97-883b-9e5ffb5f6689', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1b758e1c-44b7-4c97-883b-9e5ffb5f6689', 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'5cd819c9-b3fe-4b1c-bccf-e2df575797ad', u'links': [{u'href': u'http://localhost/v1/volume/connectors/5cd819c9-b3fe-4b1c-bccf-e2df575797ad', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5cd819c9-b3fe-4b1c-bccf-e2df575797ad', 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'eb4b16fa-96f0-4686-b336-a24aa4056d42', u'links': [{u'href': u'http://localhost/v1/volume/connectors/eb4b16fa-96f0-4686-b336-a24aa4056d42', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/eb4b16fa-96f0-4686-b336-a24aa4056d42', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-4'}]} {15} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.019816s] ... 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/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77 Openstack-Request-Id: req-c6b952ea-a88a-4001-b9d6-10fe694dd06e 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": "7ca18e3c-f257-44f1-86bc-c2ec92bc8a77", "links": [{"href": "http://localhost/v1/portgroups/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77", "rel": "self"}, {"href": "http://localhost/portgroups/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77", "rel": "bookmark"}], "extra": {}, "created_at": "2018-02-15T13:14:27.246331+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77/ports", "rel": "self"}, {"href": "http://localhost/portgroups/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77/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/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'7ca18e3c-f257-44f1-86bc-c2ec92bc8a77', u'links': [{u'href': u'http://localhost/v1/portgroups/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:27.246331+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/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/7ca18e3c-f257-44f1-86bc-c2ec92bc8a77/ports', u'rel': u'bookmark'}], u'name': u'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-02-15T13:14:32.636570+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'} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.020645s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.074511s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.141180s] ... ok {24} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.023727s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.120957s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.090498s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.075995s] ... ok {8} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.123254s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.036832s] ... ok {24} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.103084s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.099316s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.082737s] ... ok {8} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.040559s] ... 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-46cec4c2-95cc-4253-9616-bab231f21a01 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.\"}"} {24} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.055284s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.014408s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.096661s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.059558s] ... ok {8} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.021993s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.033665s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.014177s] ... ok {24} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.029951s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_ok [0.091247s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.115970s] ... ok {8} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.101225s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.039978s] ... ok {27} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_ok [0.058236s] ... ok {24} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_without_enabled_hardware_types [0.124862s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.043951s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot_uefi [0.110122s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.039702s] ... ok {24} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.196478s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.036518s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.013446s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.020966s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.130055s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.015100s] ... ok {24} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.309569s] ... ok {8} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.014701s] ... ok {27} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.019819s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.020800s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.123785s] ... ok {8} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.126109s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_is_force_persistent_boot_device_enabled [0.059935s] ... ok {24} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.325348s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate [0.069374s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.021747s] ... ok {8} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.024195s] ... ok {24} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.283105s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe [0.054742s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.041188s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.076429s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.269647s] ... ok {8} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_dynamic_drivers [0.172901s] ... ok {27} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_volume_type [0.057743s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.163469s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.035169s] ... ok {8} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [1.196633s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.014046s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.415114s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.439874s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.052002s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_fail [0.094586s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.294226s] ... ok {8} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.090613s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.270964s] ... ok {27} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.011082s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.095508s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.434736s] ... ok {8} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.158258s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.297621s] ... ok {27} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_sensors_data [0.018866s] ... ok {24} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.319849s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.348784s] ... ok {15} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_rescue [0.021102s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.468139s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.026325s] ... ok {27} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_supported_boot_devices [0.050047s] ... ok {24} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_disabled [0.022248s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat [0.505186s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.023730s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.044396s] ... ok {24} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.024343s] ... ok {27} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.018737s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps [0.113639s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.050391s] ... ok {24} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_clears_maintenance_reason [0.731190s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_check_rescuewait_timeouts [1.403904s] ... ok {27} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.009174s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_ipmitool [0.201200s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.024983s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.358941s] ... ok {27} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_driver_interfaces [0.014504s] ... ok {24} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.116351s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.019507s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.022425s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.124551s] ... ok {27} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_mounted_ok [0.003580s] ... ok {24} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.290132s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.256776s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.022714s] ... ok {8} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ilo [0.279480s] ... ok {24} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.044085s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.095095s] ... ok {27} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver [0.002225s] ... ok {8} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.408583s] ... ok {15} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_fail_logout [0.193133s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.030400s] ... ok {24} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.018934s] ... 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-1749d016-91f3-4c2b-a911-e489a84c58b1 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.\"}"} {27} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.078103s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_not_supported [0.113299s] ... ok {15} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_username [0.065507s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.081977s] ... ok {24} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.016300s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.022251s] ... ok {27} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.014577s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.142873s] ... ok {24} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.019110s] ... ok {15} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.089737s] ... ok {27} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.012831s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.022624s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.140755s] ... ok {15} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.096006s] ... ok {24} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.018790s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.036134s] ... ok {27} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.014603s] ... ok {8} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.132483s] ... ok {15} ironic.tests.unit.drivers.test_base.TestBaseDriver.test_class_variables_immutable [0.013098s] ... ok {24} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.129780s] ... ok {15} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.090689s] ... ok {27} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.012347s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.020102s] ... ok {8} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.025622s] ... ok {24} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.070298s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.022237s] ... ok {27} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version_subset_of_fields [0.012274s] ... ok {8} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.020544s] ... ok {15} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver_exc [0.002684s] ... ok {24} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.034895s] ... ok {0} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_one_conductor [0.522838s] ... ok {27} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.008127s] ... ok {8} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.018375s] ... ok {15} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.031183s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.058408s] ... ok {27} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.007713s] ... ok {24} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.073504s] ... ok {15} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_get_properties [0.031879s] ... ok {8} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.043026s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.055197s] ... ok {27} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.012271s] ... ok {24} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.036293s] ... ok {8} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.020157s] ... ok {15} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.013583s] ... ok {27} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.014000s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.062142s] ... ok {24} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.034878s] ... 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-c268e612-3bf0-4682-a3b9-2e906bc134b0 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'******'}} {8} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.020182s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.148089s] ... ok {8} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.119210s] ... ok {15} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.012623s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.019594s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.033388s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.019985s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.074712s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.019466s] ... ok {8} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.182437s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.049646s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.877246s] ... ok {15} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.033370s] ... ok {8} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.131234s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.053778s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.064649s] ... ok {8} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.053884s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.021990s] ... ok {24} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.049174s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.049226s] ... ok {8} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.049125s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.013259s] ... ok {24} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.035114s] ... ok {8} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.042505s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.014958s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.032385s] ... ok {24} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.033507s] ... ok {8} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.059193s] ... ok {24} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.148907s] ... ok {8} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.055859s] ... ok {15} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.021773s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.074931s] ... ok {24} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_fail [0.185311s] ... ok {8} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.038280s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.034368s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.128673s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_soft_poweroff_retry [0.165473s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.147623s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state_fail [0.096063s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.128285s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.028135s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job [0.120148s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.049247s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.045055s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.073695s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_exc [0.094616s] ... ok {24} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.036581s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.040069s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.339658s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.181522s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.124598s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.127980s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.161293s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.114027s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_without_logs [0.156994s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info [0.033259s] ... 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-6ddafe32-ef66-4b3a-8560-2eb448167312 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'\"}"} {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.215222s] ... 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-6c537447-e0c2-4d65-ac59-497cc726ea24 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-02-15T13:14:26.703832+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-02-15T13:14:26.703832+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.147823s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.060778s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.087438s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.112294s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_instance_info [0.149176s] ... 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-3bd4afcc-aba3-44e0-b48a-94a92e16a69d 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-02-15T13:14:28.320900+00:00"} {9} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.123183s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.125038s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.117262s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.087546s] ... 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-4acdf542-95ff-4523-a8c4-b07e179331ca 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.\"}"} {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.125038s] ... ok {24} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_processing_on_any_url_fails [0.103900s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.056867s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.026231s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.013841s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.035118s] ... ok {24} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.152001s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.097754s] ... ok {24} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.035946s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.026784s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_fail [0.036015s] ... ok {24} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_cleaning [0.095442s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.037257s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.104011s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.085509s] ... ok {24} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_not_in_use_by_oneview [0.240336s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.070071s] ... ok {24} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_does_not_have_sp_applied [0.097312s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_clean_step_foreach_url [0.091527s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.090930s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.079757s] ... ok {24} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_from_next_boot_device [0.093448s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.081776s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.130705s] ... 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-33580a2a-9075-497d-8182-0b8b8b031533 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.\"}"} {24} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_missing_parameter [0.096555s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.128362s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.056295s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.096390s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift [0.141176s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.032257s] ... 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-02-15T13:14:27.283259+00:00'}]} {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.093043s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.088871s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.298367s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_none [0.174895s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.099823s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.072938s] ... 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-c8166b92-d04f-423c-b518-0e862954f753 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\"}"} {19} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.065171s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.070467s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.138088s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.170699s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.121341s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.181998s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.056253s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.078483s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.090222s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.148929s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.036234s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.145606s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.028302s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_bad_command_result [0.173246s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.103280s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.083660s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.116662s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.205456s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.076086s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.056107s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_malformed_capabilities [0.023151s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.090086s] ... ok {24} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.038895s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_no_server_profile [0.071258s] ... ok {24} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.027912s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_server_hardware_type [0.035198s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_inspect_hardware [0.079195s] ... ok {8} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_fail [0.083513s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sht [0.031262s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare [0.127634s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.058544s] ... ok {24} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.030930s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_oneview_error [0.265677s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.020324s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.111934s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__add_applied_server_profile_uri_field [0.086479s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.097313s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.029089s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.028595s] ... 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'created_at': u'2018-02-15T13:14:32.260475+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-02-15T13:14:32.260475+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'}]}]} {8} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_version_mismatch [0.069209s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.198653s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_supported_power_states [0.065092s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.098313s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_with_timeout [0.088993s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.009182s] ... 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'640beb92-5b38-4ade-b2d0-a054a8af7cba', u'links': [{u'href': u'http://localhost/v1/ports/640beb92-5b38-4ade-b2d0-a054a8af7cba', u'rel': u'self'}, {u'href': u'http://localhost/ports/640beb92-5b38-4ade-b2d0-a054a8af7cba', 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-02-15T13:14:27.038475+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'1043c346-5ddb-4f69-8a57-8326bee3bc83', u'links': [{u'href': u'http://localhost/v1/ports/1043c346-5ddb-4f69-8a57-8326bee3bc83', u'rel': u'self'}, {u'href': u'http://localhost/ports/1043c346-5ddb-4f69-8a57-8326bee3bc83', 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-02-15T13:14:27.044048+00:00'}]} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.106402s] ... ok {24} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.013984s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.114275s] ... ok {24} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.027041s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.024637s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.037368s] ... ok {24} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.015516s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.029498s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.017229s] ... ok {24} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.016984s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.028918s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.017671s] ... ok {24} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.019854s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.015514s] ... ok {24} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_error [0.032440s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.093388s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '94c344fc-c993-467b-bc1d-2c633bd5665e', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-393035ea-639d-4796-8d6d-02d07c7d83b3 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": "94c344fc-c993-467b-bc1d-2c633bd5665e", "updated_at": "2018-02-15T13:14:27.464787+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-02-15T13:14:27.392215+00:00"} {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.019478s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.010521s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_localboot [0.224826s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.129766s] ... 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-f0d9b005-a74b-4448-9a71-846e3c3e352f 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.\"}"} {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.090018s] ... 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'0036ea0a-a3ff-40c8-8d94-c2d30bf8e85f', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/0036ea0a-a3ff-40c8-8d94-c2d30bf8e85f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0036ea0a-a3ff-40c8-8d94-c2d30bf8e85f', 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.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.020736s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.099591s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_post_clean_step_hook [0.033183s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd [0.068226s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.128332s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.095402s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_pin [0.014695s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.019385s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.072353s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.096780s] ... ok GET: /v1/volume/targets?node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'b59712e5-c220-49aa-9c11-ff38d47e613c', u'links': [{u'href': u'http://localhost/v1/volume/targets/b59712e5-c220-49aa-9c11-ff38d47e613c', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/b59712e5-c220-49aa-9c11-ff38d47e613c', 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'4dfc02fe-95fc-4aec-b6d5-1376f6650eb4', u'links': [{u'href': u'http://localhost/v1/volume/targets/4dfc02fe-95fc-4aec-b6d5-1376f6650eb4', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/4dfc02fe-95fc-4aec-b6d5-1376f6650eb4', 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'd046f90f-6b7f-4cda-afcc-5376c2eb26c1', u'links': [{u'href': u'http://localhost/v1/volume/targets/d046f90f-6b7f-4cda-afcc-5376c2eb26c1', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/d046f90f-6b7f-4cda-afcc-5376c2eb26c1', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} 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-4c01de2a-f844-41bc-bd49-189f32ad3a54 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.\"}"} {21} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.124975s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.087056s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.076891s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.051433s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.019705s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.066930s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.035946s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.013930s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.029452s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.040730s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.052178s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.014129s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.095299s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.028668s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.115950s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_fail [0.104668s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.095544s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_cold [0.075184s] ... ok GET: /v1/portgroups?sort_key=uuid {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'0c039077-6774-421f-946d-d0f5e0a46b78', u'links': [{u'href': u'http://localhost/v1/portgroups/0c039077-6774-421f-946d-d0f5e0a46b78', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0c039077-6774-421f-946d-d0f5e0a46b78', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'b61698a5-ce7f-4506-ada7-8ff95d8730a6', u'links': [{u'href': u'http://localhost/v1/portgroups/b61698a5-ce7f-4506-ada7-8ff95d8730a6', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/b61698a5-ce7f-4506-ada7-8ff95d8730a6', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'f5aea366-123d-4c17-b819-66fcb7f93985', u'links': [{u'href': u'http://localhost/v1/portgroups/f5aea366-123d-4c17-b819-66fcb7f93985', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f5aea366-123d-4c17-b819-66fcb7f93985', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_returns [0.114251s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.112343s] ... ok {24} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_driver_routes [0.069549s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.069152s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.024955s] ... ok {24} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.036993s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.019548s] ... ok {24} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.137654s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_ok [0.071450s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_ok [0.027000s] ... ok {24} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.075273s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.072829s] ... ok {24} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_local_boot [0.123685s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.056148s] ... ok {24} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_ramdisk [0.042963s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.034645s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.056486s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail [0.095890s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.021929s] ... ok {24} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.024692s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.016347s] ... ok {24} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.022041s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_persistent [0.111159s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.012439s] ... ok {24} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.030696s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_ok [0.100369s] ... ok {24} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.028188s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.013097s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot [0.093964s] ... ok {24} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.019418s] ... ok {8} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_ok_logout [0.150892s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.100922s] ... ok {24} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_and_wait_for_state_change_fail [0.238999s] ... ok {8} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot__wait_state_change_fail [0.148651s] ... 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-206cb3f0-e78d-4ef4-b2d7-68781fd621fe 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\"}"} {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue_timeout [0.141740s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.068365s] ... ok {8} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.075144s] ... ok {24} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_override_with_ipmi_interfaces [0.102143s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.025043s] ... 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-24171853-bfed-4884-b04e-f39accc11d0a 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\\\".\"}"} {8} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.079131s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.079616s] ... ok {24} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_inspector_driver [0.024650s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.032075s] ... ok {24} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.106130s] ... ok {8} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.008770s] ... ok {24} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_mounted_ok [0.005308s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.022962s] ... ok {8} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.008304s] ... ok {24} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.028277s] ... ok {8} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.008253s] ... 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. "} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.024616s] ... ok {8} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver [0.002543s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.039500s] ... ok {24} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.025037s] ... ok {8} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.071050s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.027025s] ... ok {24} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.020882s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.033108s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.022146s] ... ok {8} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.073238s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.013573s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.087523s] ... ok {8} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.011679s] ... ok {24} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.014420s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_up [0.204183s] ... ok {8} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.015877s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_good [0.024183s] ... ok {8} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.012969s] ... ok {0} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver [0.003685s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.097095s] ... ok {8} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.013160s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.008470s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_valid_methods [0.093962s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.008157s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.020671s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.007452s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.015551s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.007402s] ... ok {8} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.015258s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.015792s] ... ok {8} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.018224s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.024729s] ... ok {8} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.018348s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.027958s] ... 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-fbd91492-757f-4708-b53a-1a1411b96db7 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-02-15T13:14:27.248321+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"} {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.089625s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_ramdisk_endpoints [0.014388s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.013219s] ... ok GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a443056b-af86-4002-851e-f0f86f106df7 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.\"}"} {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.054544s] ... ok GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9a7ffeba-fc7e-4e44-ae7d-6b1cf5022e0c 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.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.058104s] ... 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-3e7fe392-e0dc-45af-ba14-87e0f80f6a99 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.TestPost.test_create_port_with_physical_network_old_api_version [0.076675s] ... 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-e8c403e4-6b5b-4088-887f-047f4efdaf9a 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'\"}"} {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.065058s] ... 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-b0ca7a46-dde5-4e0c-a038-bae81d84006a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {10} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.063454s] ... 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-015058d4-5071-4a28-819e-e9bc3a318a80 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.101922s] ... 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-832be3bc-4830-497a-a68c-c575b5e18d9c 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\\\".\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.090265s] ... 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-3ade9f95-4c2f-4691-b8ed-66c567c43faf 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\"}"} {19} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.087428s] ... 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-411556ba-b922-443f-bdc2-b705d1ff08c0 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\\\".\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.102043s] ... 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-7fcead05-14e9-45b9-aa79-41d5f91d1915 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.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.055565s] ... 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 "} {10} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.047600s] ... 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-5198f3a9-f3df-4104-98cf-9448c2c74432 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-02-15T13:14:27.267483+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {21} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.109379s] ... ok {21} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.027768s] ... ok {21} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.081546s] ... ok {21} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.022133s] ... ok {21} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.082971s] ... ok {21} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.030583s] ... ok {21} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.031597s] ... ok {21} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.015909s] ... ok {21} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.026911s] ... ok {21} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.018278s] ... ok {21} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [0.093531s] ... ok {21} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.016182s] ... ok {21} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.017256s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.032412s] ... ok {21} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_elilo_config [0.048058s] ... ok GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-06572985-d4ef-46e3-9b29-2451a0269ecd 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\"}"} {17} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.054835s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_invalid_values [0.013662s] ... ok {21} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.012797s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs_fail [0.013348s] ... ok {21} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha512 [0.012856s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver_fail [0.013953s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.012220s] ... ok {21} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.012711s] ... ok {21} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.024229s] ... ok {21} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.328668s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_deploy_timeouts [0.337926s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort [0.112581s] ... 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-a327a828-41a3-4761-8121-8a7e1e5acda2 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-02-15T13:14:31.569532+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-02-15T13:14:31.569532+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-02-15T13:14:31.569532+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'}]} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.377047s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states [3.531880s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.377821s] ... ok {21} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.544292s] ... ok {21} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeout [0.025271s] ... ok {21} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_snmp [0.361071s] ... ok {21} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.137048s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.123439s] ... ok {21} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.467089s] ... ok {21} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.138682s] ... ok {21} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.257292s] ... ok {21} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.029947s] ... ok {21} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.022052s] ... ok {21} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.021635s] ... ok {21} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.023069s] ... ok {21} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.019248s] ... ok {21} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.086193s] ... ok {21} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.093364s] ... 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-5e2a8a61-4e5e-43c0-90be-89c275af1b4d 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.\"}"} {21} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.122744s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.085431s] ... ok {21} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.139422s] ... ok {21} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.146227s] ... ok {21} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {21} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect 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-e140c126-b0a8-464c-a972-48311ec74378 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'].\"}"} {18} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.062771s] ... ok {21} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_empty_db [0.049415s] ... ok {21} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.028054s] ... ok {21} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.070407s] ... ok {21} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.045706s] ... ok {21} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.047563s] ... ok {21} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.122665s] ... ok {21} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.031547s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.070625s] ... 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-592dc20f-90ed-4423-937a-f473337b8aff 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.049434s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.020245s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.152814s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.029460s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.111957s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.034796s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_dynamic_driver_and_interfaces [0.239846s] ... ok {21} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.145107s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.036204s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.057615s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.013979s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.142234s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.015823s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.030274s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.028367s] ... ok {21} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.087917s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.013056s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.085837s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.013999s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_is_force_persistent_boot_device_enabled [0.102229s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.012907s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.082229s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.078978s] ... ok {1} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_get_mockable_ext_mgr [0.016535s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.115365s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.312991s] ... 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-97f298de-6432-4775-8e99-e996831614fc 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.\"}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.317427s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.117925s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.102892s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_not_supported [0.086890s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.150822s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.166439s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_alive [0.235047s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.033696s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.055453s] ... ok {21} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.092207s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.022310s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.214521s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.103912s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_implemented [0.092799s] ... 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-4dc05367-14aa-4b57-93df-f2d837b1c716 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.065456s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_missing_param [0.092863s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.164254s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.096862s] ... ok {21} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.099682s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.279611s] ... ok {21} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_fails [0.032010s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.030033s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy [0.173320s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.101490s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.022950s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.094468s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.021630s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.021835s] ... ok {21} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_old_command [0.122473s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.021765s] ... ok {21} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.022376s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.022889s] ... ok {21} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.027584s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.025370s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.015669s] ... 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-2ceda91f-fc81-44b8-874a-9e3a87306950 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_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.049791s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.017108s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities_none [0.103202s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.018908s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.016557s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.030213s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.138533s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.141619s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.027074s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.121261s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {21} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonsupported_image [0.126582s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_max_count_zero [0.141313s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.031181s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.046913s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.045802s] ... ok {21} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.181872s] ... ok {21} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.026795s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.077058s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.039453s] ... ok {21} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.028999s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.036525s] ... 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-02-15T13:14:28.459061+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.056891s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.032465s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.075522s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.090272s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.094634s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.088729s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.055317s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.046733s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.087686s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.034347s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.077930s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.039289s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.024682s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.072599s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.038378s] ... ok {21} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.052237s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.033038s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'd558d22d-887d-4de3-b86e-64c50e37d005', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51b9b1eb-ff0c-4e00-8e3a-2a4b079c02e4 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": "d558d22d-887d-4de3-b86e-64c50e37d005", "updated_at": "2018-02-15T13:14:27.251806+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-02-15T13:14:27.178069+00:00"} {21} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.070828s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.132120s] ... 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-1bd2d95b-d5c7-44da-a180-517473bbf0b0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.083509s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.065195s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_partition [0.060585s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.041724s] ... ok {21} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel_ipxe [0.022611s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.016407s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.063296s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.014324s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.014141s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.084312s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.014102s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-b97eade5-15c6-408d-a6a1-dcfe30020b38 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.\"}"} {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.097776s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.087128s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.014074s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.013141s] ... 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-97d69909-9d03-4dd1-a319-c3938360f81d 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.\"}"} {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_url [0.101676s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.072582s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.015068s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.037756s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.091521s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.021627s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.090100s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.089292s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.014162s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot [0.114387s] ... ok {21} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.011461s] ... ok DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f43c42b8-c41e-4968-b537-618ad40e1381 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.\"}"} GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'bb26af3f-6b21-45cd-b4f7-3e0a2a5fd81f', u'links': [{u'href': u'http://localhost/v1/volume/targets/bb26af3f-6b21-45cd-b4f7-3e0a2a5fd81f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/bb26af3f-6b21-45cd-b4f7-3e0a2a5fd81f', 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'bb39e5ef-832e-4aa2-9a63-c2202c097807', u'links': [{u'href': u'http://localhost/v1/volume/targets/bb39e5ef-832e-4aa2-9a63-c2202c097807', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/bb39e5ef-832e-4aa2-9a63-c2202c097807', 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'047f3334-7521-4d4e-a54a-78c405c47193', u'links': [{u'href': u'http://localhost/v1/volume/targets/047f3334-7521-4d4e-a54a-78c405c47193', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/047f3334-7521-4d4e-a54a-78c405c47193', 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'ad5cfd91-bb38-480f-b240-e4cbfd396c05', u'links': [{u'href': u'http://localhost/v1/volume/targets/ad5cfd91-bb38-480f-b240-e4cbfd396c05', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/ad5cfd91-bb38-480f-b240-e4cbfd396c05', 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'fe7d5d52-ebe5-4ad1-a175-2f02242e171b', u'links': [{u'href': u'http://localhost/v1/volume/targets/fe7d5d52-ebe5-4ad1-a175-2f02242e171b', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/fe7d5d52-ebe5-4ad1-a175-2f02242e171b', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.058357s] ... ok {21} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_timeout [0.138527s] ... ok {25} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.152065s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.963766s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.082526s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.085989s] ... ok {21} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_inspect_interface [0.014674s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.178898s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.187174s] ... ok {21} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.055400s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.183112s] ... ok {21} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.014269s] ... ok {21} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.024332s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.179266s] ... ok {21} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.065218s] ... ok {21} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.018798s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.084401s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.075744s] ... ok {21} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.013803s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.077170s] ... ok {21} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.013223s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.107559s] ... ok {21} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.008129s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.139191s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.142940s] ... ok {21} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.007471s] ... ok {21} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.013932s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_binding_host_id_raise [0.218576s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.240601s] ... ok {21} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.012709s] ... 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-42a0519e-2494-463d-b87a-711648017157 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\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.086852s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.113519s] ... ok {21} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.026574s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.113175s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_spt [0.037265s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_with_automated_clean_disabled [0.120357s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.035590s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.147874s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_ramdisk [0.145409s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.148852s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off_failed [0.154035s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps [0.136214s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.014806s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.063278s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.035521s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.021477s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.018480s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.046539s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.036803s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.036617s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.020193s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.022341s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.021323s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.034988s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.100626s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.108170s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.130916s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.107031s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.105482s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_invalid_state [0.106665s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot_timeout [0.107793s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.224655s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.190564s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_wdi [0.126570s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1 [0.058773s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.032521s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.104151s] ... 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-cd47f55f-eff3-4870-addc-b4c7069e2c9c 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-02-15T13:14:26.809851+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-02-15T13:14:26.809851+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'}]} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.173266s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.108414s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.018090s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver_exc [0.003040s] ... ok {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.015757s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.020640s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.022871s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.021148s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.021187s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.039501s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.014656s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.017302s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2ace448-6661-4f73-8e51-d65ee581d574 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.091907s] ... 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-02-15T13:14:27.431622+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-02-15T13:14:27.431622+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'foo': u'bar'}} {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.117137s] ... ok PATCH: /v1/nodes/fa364771-b4c8-470e-b860-b5ad970b00bb [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-812ff6a0-517f-4a72-b2fc-2b98211af4d8 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/959dc5b4-2e88-4e08-a0d6-70bd6e742fc3 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a163f1c-97f7-4b1c-b876-cd48e730732e 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/be53f3e6-be36-4c84-8c47-174d95543e4c [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-547e5a23-9536-4078-b35c-4a28aebc6ec0 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/57c3a915-5af5-4c44-b29a-d607ab159db3 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53459a5f-7aab-43a9-b7e4-fe8860f17084 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/386ee776-a2bd-4bf1-8105-b00f114bb1db [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-31087f11-2867-4268-aed0-7f73b5ed1b0c 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/6ddcada9-3d34-46cc-b8e2-30b13b66c200 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9b57177-9079-4a7f-aebd-4c5d41ff67df 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/63ff8655-8768-4216-80c9-93e55b64756f [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a7d650e9-7d73-4a0e-b9dc-5e34a442e1ef 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/bfdd6d29-3e96-491e-a1cd-e769cccc959c [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cd243286-9c73-40ff-b240-dff23b262954 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\"}"} {23} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_classic_driver_interface_fields [0.445873s] ... 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-027bd653-0e62-4625-bef4-244dd6da4963 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\"}"} {25} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.071158s] ... 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-a9f8647f-8242-48e9-94aa-cd9c928d47d4 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'} {12} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.121503s] ... 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-6c6de4b3-9c43-4381-8756-298a198fcdc3 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\"}"} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.061444s] ... ok GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d9b02b7-303b-495a-9015-f44da0c59c3c 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.\"}"} {18} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.064651s] ... 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-0941f91d-986a-4147-9300-736883284353 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.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.060974s] ... 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-092d52c1-cc10-4256-a807-54b35dd540d9 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-02-15T13:14:27.656702+00:00"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.114930s] ... 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': []} {28} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.076868s] ... 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 "} {25} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.043972s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-ed13a85d-a5bd-4751-a967-183841b0c10e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {25} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.025336s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.060517s] ... ok {25} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.027368s] ... ok {25} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions_bad [0.030099s] ... ok {25} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.014222s] ... ok {25} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.089358s] ... ok {25} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.091552s] ... ok {25} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type [0.030926s] ... ok {25} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.024351s] ... ok {25} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.019168s] ... ok {25} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server [0.013512s] ... ok {25} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.054068s] ... 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-f26cd7ff-b044-4a09-97f1-0dce2ca8dcc1 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-02-15T13:14:33.088235+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "type": "iqn"} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.100324s] ... ok {25} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_default_v1 [0.017504s] ... ok {25} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.025965s] ... ok {25} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_uefi_rootfs_fails [0.030247s] ... ok {25} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.017280s] ... ok {25} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.010430s] ... ok {25} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.098896s] ... ok {25} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.022016s] ... 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-358e3079-8347-4fd3-bf25-928d7819c5fc 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-02-15T13:14:32.084137+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-02-15T13:14:32.084137+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {25} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.022081s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.142568s] ... ok {25} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.025916s] ... ok {25} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.029184s] ... ok {25} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.144232s] ... ok {25} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.014420s] ... ok {25} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.014653s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-36736af6-51ac-4c3b-821f-a09696f24368 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {25} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.317217s] ... ok {25} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.324121s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.087750s] ... ok {25} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_manual_clean [0.312886s] ... ok {25} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.031975s] ... ok {25} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_timeouts [0.332632s] ... ok {25} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.313499s] ... ok {25} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.221310s] ... ok {25} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_validate_fail [0.132854s] ... ok {25} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.369348s] ... ok {25} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.072056s] ... ok {25} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.019936s] ... ok {25} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.038722s] ... ok {25} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.015910s] ... ok {25} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.116440s] ... ok {25} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.140242s] ... 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 "} {25} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.090811s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.043534s] ... ok {25} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_with_old_conductor [0.043384s] ... ok {25} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.053045s] ... ok {25} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.041417s] ... ok {25} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.679712s] ... 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-e7904bd2-935d-4935-b3ac-abfacd5aca4f 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-02-15T13:14:27.973334+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.109785s] ... ok {25} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.052118s] ... ok {25} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.060462s] ... ok {25} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.072418s] ... ok {25} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.048542s] ... ok {25} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.103294s] ... ok {25} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.035891s] ... ok {25} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.033734s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.099295s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.067538s] ... ok {25} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration [0.189573s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.091185s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.088748s] ... 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-f9f2bb81-2712-417e-b7f7-60537f18b523 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-02-15T13:14:32.570257+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"}]} {25} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.122503s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.132719s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.095026s] ... ok {25} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_without_component [0.092845s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.051882s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_deploy_iso_with_image_service [0.158829s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_without_copy [0.167991s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.514076s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.154101s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.030092s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_input [0.031542s] ... ok {25} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.093661s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.084654s] ... ok {25} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.070388s] ... 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-234db6aa-456b-4513-afc7-b461ee093ef8 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.\"}"} {25} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_manage_boot_false [0.031327s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.077257s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare [0.136716s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_clean_failed_when_no_oneview_error [0.339285s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_when_in_use_by_oneview [0.245193s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic_node_has_server_profile [0.091989s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_successfuly_allocated_to_ironic [0.108036s] ... ok {25} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on [0.089661s] ... ok {25} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.145884s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.141914s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot [0.124013s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.131577s] ... ok {25} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.013861s] ... ok {25} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.021429s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_running [0.096066s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.034556s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.030572s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.024942s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.048779s] ... ok {25} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.059196s] ... ok {25} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.048754s] ... ok {25} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.047115s] ... 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-0cff51b2-70af-4e42-8ec7-bd7c95902e8b 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\"}"} 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-d81459a6-d07b-495c-8f43-cef6371bf699 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.048288s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.054746s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.097432s] ... 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-30639274-295f-4882-beb1-cdb1c7c4e5ac 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-02-15T13:14:32.892057+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "pg.1"} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.106596s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.056913s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.160283s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.358581s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.032449s] ... ok {25} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_ok [0.095172s] ... ok {25} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.069219s] ... ok {25} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.206813s] ... ok {25} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.032698s] ... ok {25} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.069869s] ... ok {25} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.077384s] ... ok {25} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_localboot [0.051104s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.023656s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.021730s] ... ok {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.021322s] ... 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-73f2e5c0-455b-4be9-9de3-c581435bf8ac 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-02-15T13:14:27.156795+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {25} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.089937s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.126281s] ... ok {25} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.014763s] ... ok {25} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_driver [0.002873s] ... ok {25} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver_import_error [0.002498s] ... ok {25} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.023571s] ... ok {25} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.027527s] ... ok {25} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.018445s] ... ok {25} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.012560s] ... ok {25} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.015303s] ... ok {25} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.022656s] ... ok {25} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.047092s] ... 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-75b94688-9c0d-445b-9e5b-fac599a97da0 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\"}"} {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.055225s] ... 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-8133aee0-8c76-4e99-9348-64b75fe4ea27 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'\"}"} {28} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.078185s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.033112s] ... 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-415fccab-8582-4c46-901f-d2b1c9c6a465 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.\"}"} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.076378s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46c5b5e4-c7be-4c0e-9013-a3437d5d0078 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\"}"} {29} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.083244s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.017661s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'foo'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', '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-9d542f20-c26b-46b5-ba0a-dcc667e7951e 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-02-15T13:14:27.374899+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id_deprecated [0.123655s] ... 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-e5b4086b-ba59-42a9-82c7-0f21e6f60f20 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.\"}"} {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.049933s] ... ok DELETE: /v1/portgroups/pg.1 GOT:Response: 204 No Content Openstack-Request-Id: req-10569903-1029-47f8-8987-1be86df55552 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {28} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.097563s] ... 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-bd5ab0fe-b0ab-4973-b3ab-0e4dbad59552 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\"}"} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.056651s] ... 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-a65ff383-c56d-4207-972a-ab859692ecb0 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'\"}"} {30} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.065814s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.014066s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_rescue_interface [0.014309s] ... ok {30} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.015840s] ... 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-0f74913b-e9f6-48ea-bfd3-2787a93ef9a0 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.\"}"} 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-f0cc87f2-c24e-468a-aa47-529e4bd523d8 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\": \"\"}"} {18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.072670s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.065988s] ... ok GET: /v1/ports?sort_key=uuid {} GOT:{u'ports': [{u'uuid': u'2ee134c0-02fd-4768-ab49-eba9d637c160', u'links': [{u'href': u'http://localhost/v1/ports/2ee134c0-02fd-4768-ab49-eba9d637c160', u'rel': u'self'}, {u'href': u'http://localhost/ports/2ee134c0-02fd-4768-ab49-eba9d637c160', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'456f23f9-83f0-4b07-9b87-96df00217b88', u'links': [{u'href': u'http://localhost/v1/ports/456f23f9-83f0-4b07-9b87-96df00217b88', u'rel': u'self'}, {u'href': u'http://localhost/ports/456f23f9-83f0-4b07-9b87-96df00217b88', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'9ad54fd9-5fdb-44d3-86ac-7c089c264f23', u'links': [{u'href': u'http://localhost/v1/ports/9ad54fd9-5fdb-44d3-86ac-7c089c264f23', u'rel': u'self'}, {u'href': u'http://localhost/ports/9ad54fd9-5fdb-44d3-86ac-7c089c264f23', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.116972s] ... ok DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-191b21f2-c114-4db5-9c76-08b8f1dadaa8 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.\"}"} {29} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.058634s] ... ok GET: /v1/ports/0891239d-2e5f-4894-ba5b-691ff290926c {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'0891239d-2e5f-4894-ba5b-691ff290926c', u'links': [{u'href': u'http://localhost/v1/ports/0891239d-2e5f-4894-ba5b-691ff290926c', u'rel': u'self'}, {u'href': u'http://localhost/ports/0891239d-2e5f-4894-ba5b-691ff290926c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.649646+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/0891239d-2e5f-4894-ba5b-691ff290926c {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'0891239d-2e5f-4894-ba5b-691ff290926c', u'links': [{u'href': u'http://localhost/v1/ports/0891239d-2e5f-4894-ba5b-691ff290926c', u'rel': u'self'}, {u'href': u'http://localhost/ports/0891239d-2e5f-4894-ba5b-691ff290926c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.649646+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/0891239d-2e5f-4894-ba5b-691ff290926c {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'0891239d-2e5f-4894-ba5b-691ff290926c', u'links': [{u'href': u'http://localhost/v1/ports/0891239d-2e5f-4894-ba5b-691ff290926c', u'rel': u'self'}, {u'href': u'http://localhost/ports/0891239d-2e5f-4894-ba5b-691ff290926c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.649646+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 [0.159194s] ... ok POST: /v1/heartbeat/7703459e-3a36-4a40-a57e-84fc4d3e118e {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f83dcec0-c6d5-4e88-b1c2-23135fd78b2c 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 7703459e-3a36-4a40-a57e-84fc4d3e118e could not be found.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.057850s] ... ok GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{u'ports': []} {29} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.059625s] ... 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-287302d2-fa8a-46b8-aae3-ce6b5b379a91 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'])\"}"} {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.075245s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8bd39f79-b4a4-4dba-9cc4-eb32538e8565 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.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.087710s] ... 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'}]} {17} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.033996s] ... ok {17} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.099539s] ... ok {17} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.013542s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.018892s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server_fail [0.012893s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.012780s] ... ok {17} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.028797s] ... ok {17} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.015907s] ... ok {17} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.016465s] ... ok {17} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi [0.030175s] ... ok {17} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.021283s] ... ok {17} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.022364s] ... ok {17} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.009372s] ... 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 "} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.049551s] ... ok {17} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.089566s] ... ok {17} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.091837s] ... ok {17} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.014167s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_deprecated_opts [0.030582s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.099015s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.096931s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.095331s] ... ok {17} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.022182s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4383d7db-ae16-4724-a128-4989b68173fb {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n[u'\"}"} {30} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.038758s] ... ok {17} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.029270s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.106585s] ... ok {30} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.022217s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.106300s] ... ok {30} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.034050s] ... ok {30} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.098057s] ... ok {30} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.030730s] ... ok {17} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.024724s] ... ok {30} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.017070s] ... ok {30} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.017027s] ... ok {17} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.027177s] ... 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-e5112a12-b643-418f-a924-e97ac33f7882 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\"}"} {30} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error [0.017023s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.073387s] ... 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-1dddbe02-82e2-48d5-ae74-63518271ba42 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-02-15T13:14:26.954174+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": "******"}} {30} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.015894s] ... 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-2fbc5174-3219-4ba5-b581-dd797e307b9b 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.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.087561s] ... ok GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{u'portgroups': []} {17} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_current_release_entry [0.013094s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.050034s] ... ok {30} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.018418s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.058932s] ... ok {17} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.014850s] ... ok {30} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.099964s] ... ok {30} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.014077s] ... ok {17} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.014883s] ... ok {30} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.020440s] ... ok {17} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.016539s] ... ok {30} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.019156s] ... ok {30} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.042943s] ... ok {17} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.036025s] ... ok {30} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.032365s] ... ok {30} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.073717s] ... ok {17} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.417793s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.031073s] ... ok {30} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.068149s] ... ok {30} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_not_supported [0.273130s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.024307s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.140320s] ... ok {17} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.133218s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.287103s] ... ok {17} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.122216s] ... ok {17} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.019928s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.295074s] ... ok {17} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.021224s] ... ok {17} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.019958s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok [0.304378s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_shutdown [0.262588s] ... ok {30} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.147258s] ... ok {17} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_hw_type [0.255380s] ... ok {30} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.023662s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.046790s] ... ok {30} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.118414s] ... 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-63b54a42-bcfe-4c06-a0f1-cccacb67a41b 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.\"}"} {28} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.122368s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_mandatory_key [0.015635s] ... ok {30} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_multiple_workers [0.222250s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.022832s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_none [0.016496s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.014391s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.014481s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.019192s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.069598s] ... ok {30} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.100626s] ... ok {30} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.595185s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.065648s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.019516s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.062198s] ... ok {17} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.137200s] ... ok {30} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.041821s] ... ok {17} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.096744s] ... 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-f4d8dde2-6c44-4c29-9ca8-70da526cb891 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-02-15T13:14:28.565921+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-02-15T13:14:28.565921+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'} {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.119225s] ... ok {17} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.092763s] ... ok {30} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.224539s] ... ok {17} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.022132s] ... ok {30} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.195355s] ... ok {17} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.048556s] ... ok {30} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.176082s] ... ok {17} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.034589s] ... ok {17} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.080341s] ... ok {30} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.056841s] ... ok {30} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_many_drivers [0.032137s] ... ok {17} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.090701s] ... ok {17} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.066788s] ... ok {17} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.036971s] ... ok {30} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.034819s] ... ok {17} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.048923s] ... ok {30} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.092542s] ... 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-d181c239-cdab-438c-94eb-1a589ac564aa 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-8db26ea4-dd4f-4448-b19b-eabb81b16c88 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-cda77ce2-27b8-4186-9944-6872a697f9e0 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-cdeb6206-a928-46e4-b30b-1495a31f054b 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-81d985aa-3d5b-4dc1-81cb-8cf50c607804 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.\"}"} {17} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.043150s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.372225s] ... ok GET: /v1/portgroups/6ad6567c-c5e8-4ac3-b7b4-9d93f601f1ca/ports {} 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.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.055642s] ... ok {17} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.100966s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.054521s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.109782s] ... ok {30} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.073718s] ... ok {30} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.091019s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.131753s] ... ok {17} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on [0.096027s] ... ok {30} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.092992s] ... ok {17} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_validate [0.092341s] ... ok {30} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.041782s] ... ok {30} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.037423s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.099499s] ... ok {30} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.105916s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.055760s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.038061s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.096303s] ... ok {30} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.111283s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.035976s] ... ok {30} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info [0.031030s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.125180s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.091161s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.094003s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.029784s] ... ok {30} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.192524s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.052869s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.096777s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.033640s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.033944s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.090725s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.034708s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.107965s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.030260s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.100824s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.189024s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids [0.083525s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.138115s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.095361s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.096823s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.129724s] ... ok {30} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.091889s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a1a0e49f-6bb2-4c04-9b6e-14fe846b5b56 {"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.037776s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_invalid [0.093627s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.103238s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_missing [0.033789s] ... ok {12} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_on_missing_default_boot_option [0.036305s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.052516s] ... ok {12} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test__calculate_migration_delta_unsupported_interface [0.014259s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.104794s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.115512s] ... ok {12} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_classic_drivers_unsupported [0.032163s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.036024s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.103247s] ... ok {12} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.023301s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.145250s] ... ok {12} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.021057s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.077393s] ... ok {12} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.091204s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.244960s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.120786s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.713992s] ... ok {12} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.013863s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.164256s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.101592s] ... ok {12} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_auth_strategy [0.013038s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.177708s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.071579s] ... ok {12} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.038203s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.090700s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.103428s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.024704s] ... ok {12} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.020248s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.137126s] ... ok {12} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.098220s] ... ok {30} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.067650s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.076376s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_prepare_manager_url [0.019701s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.045409s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info [0.019858s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.325858s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_validate [0.057931s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.075807s] ... ok {12} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.024951s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_available_when_not_in_use_by_oneview [0.144463s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.103790s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.106705s] ... ok {12} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.033252s] ... 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-a0d081f0-89b1-435e-8c14-2e972aca87a5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {17} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_validate [0.055271s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.092835s] ... ok {12} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.196082s] ... ok {30} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.114730s] ... ok {17} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_onetime_boot_persistent [0.058759s] ... ok {12} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.108573s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_deploy [0.111469s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.049247s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_with_automated_clean_disabled [0.096726s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.344078s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.073006s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__del_applied_server_profile_uri_field [0.087747s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic_no_server_profile [0.090701s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.429454s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.061296s] ... ok {30} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot [0.092876s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_proxies [0.095816s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.057982s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.323237s] ... ok {30} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.034021s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.009322s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.274034s] ... ok {17} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.032845s] ... ok {30} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.032187s] ... ok {30} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.126940s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.012368s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_kernel [0.127206s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.264993s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.057680s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_partition_image [0.146546s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.024860s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.056008s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.023260s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.211418s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.033369s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo_iscsi [0.199292s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.035446s] ... ok {12} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.863464s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_uefi [0.110549s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.048310s] ... 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-850bce77-d2e9-4104-bcf3-9542542c58d0 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.\"}"} {12} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.117483s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_deploy_ramdisk [0.027577s] ... ok {28} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.106377s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.015550s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.035923s] ... ok {12} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.194274s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.032680s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.016328s] ... ok {12} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.111854s] ... 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-9b86ec1e-6211-42be-a893-2da8ad60295b 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.\"}"} {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.013501s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.077671s] ... ok {30} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.018624s] ... ok {30} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.124746s] ... ok {12} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.097344s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.013277s] ... ok {30} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.019374s] ... 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-0f3ebb89-b3b6-404a-8054-d073848a8f94 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {30} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled [0.024859s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.090377s] ... 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-74cc64f4-6a6c-44f0-8403-156035e98ef7 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-02-15T13:14:32.526209+00:00", "updated_at": "2018-02-15T13:14:32.590340+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {12} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.148198s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.012885s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.118884s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.013495s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.096030s] ... ok {12} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.041126s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.052841s] ... ok {12} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.028316s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.011523s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.032021s] ... ok {12} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.012407s] ... ok Running batches of 50 until migrations have been completed. {12} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.013333s] ... ok {28} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.026350s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.042289s] ... ok {17} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.065248s] ... ok {28} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_deprecated_opts [0.038406s] ... ok {12} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.080384s] ... ok {17} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.061938s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.064486s] ... ok {28} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_classic_driver_unset_interfaces [0.150811s] ... ok {12} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.097456s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.096435s] ... ok {28} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.023447s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.066338s] ... ok {17} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver [0.003218s] ... ok {28} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_unknown [0.022496s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {17} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.072484s] ... ok {30} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.097723s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_netboot [0.146060s] ... ok {17} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.018903s] ... ok {28} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.015911s] ... ok {12} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.110693s] ... ok {28} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.019973s] ... ok {17} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.011972s] ... ok {28} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.022910s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.160776s] ... ok PATCH: /v1/portgroups/e096bf7d-4a38-4a04-9c3f-04fc1e083219 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0baa5532-9865-4a20-94d1-3d8aa09df7cc 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 e096bf7d-4a38-4a04-9c3f-04fc1e083219 could not be found.\"}"} {17} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.009867s] ... ok {12} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.035098s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.064973s] ... ok {28} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href [0.020119s] ... ok {17} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.013839s] ... ok {12} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.049525s] ... ok {30} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.035966s] ... ok {28} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.055087s] ... ok {17} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.017094s] ... ok {12} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.040012s] ... ok {30} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.158634s] ... ok {28} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.083299s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.024347s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.058524s] ... ok {28} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.166300s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.175178s] ... ok {28} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.074783s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.094166s] ... ok {28} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.064213s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.083601s] ... ok {28} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.127315s] ... ok {28} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.025579s] ... ok {30} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.018935s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm [0.221194s] ... ok {12} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.041984s] ... ok {28} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.058123s] ... ok {30} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info [0.065441s] ... ok {12} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.050154s] ... ok {28} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.101955s] ... ok {30} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.013924s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_tear_down_fail [0.131213s] ... ok {12} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.033056s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.383295s] ... ok {30} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.016483s] ... ok {12} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login [0.125000s] ... ok {30} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.018620s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.442478s] ... ok {12} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_supported_boot_devices [0.088446s] ... ok {28} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_not_supported [0.096921s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed [0.148433s] ... ok PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-69e1d0b6-bca5-44f4-bcfa-22703aeec7d9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.070738s] ... ok {30} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.023238s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.024442s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed [0.142028s] ... ok {30} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.026548s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.023173s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.067982s] ... ok {30} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.014856s] ... ok {28} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.046718s] ... ok {30} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.020137s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.037709s] ... ok {28} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.073200s] ... ok {30} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.019234s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_recreate_boot_iso_use_webserver [0.184071s] ... ok {28} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.295283s] ... ok {30} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.012979s] ... ok {28} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.108415s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.091259s] ... ok {30} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.015746s] ... ok {28} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.018880s] ... ok {30} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.018445s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.028927s] ... ok {30} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.056565s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.109444s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.141441s] ... ok {28} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.103796s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.025024s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.021140s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.104474s] ... ok {30} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.023751s] ... ok GET: /v1/portgroups/?limit=3 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'a9d836c2-0433-472e-8f8e-ea3bf76d52f1', u'links': [{u'href': u'http://localhost/v1/portgroups/a9d836c2-0433-472e-8f8e-ea3bf76d52f1', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a9d836c2-0433-472e-8f8e-ea3bf76d52f1', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'8ed05b11-f862-4d7b-8692-0070e44fd908', u'links': [{u'href': u'http://localhost/v1/portgroups/8ed05b11-f862-4d7b-8692-0070e44fd908', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/8ed05b11-f862-4d7b-8692-0070e44fd908', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'9c536c9e-0458-4e72-a08d-fa1f6b6a4061', u'links': [{u'href': u'http://localhost/v1/portgroups/9c536c9e-0458-4e72-a08d-fa1f6b6a4061', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9c536c9e-0458-4e72-a08d-fa1f6b6a4061', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=9c536c9e-0458-4e72-a08d-fa1f6b6a4061'} 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-70db051d-6957-469b-9266-304faecf7244 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-02-15T13:14:33.086255+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"} {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.021285s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.089271s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.117301s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.031915s] ... ok {28} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.021548s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.073708s] ... ok {28} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.036144s] ... ok {28} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.190190s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.184747s] ... ok {28} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.172933s] ... ok {28} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.028052s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.179364s] ... ok {28} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.913495s] ... ok {28} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.067682s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.163504s] ... ok {28} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.036563s] ... ok {28} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.049119s] ... ok {28} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.032903s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.030346s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.077280s] ... ok {28} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_fail [0.098963s] ... ok {28} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.070830s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.099837s] ... ok {28} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.029939s] ... ok {28} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.042009s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.161666s] ... ok {28} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.070089s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.116871s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.162076s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.028871s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.284065s] ... ok {28} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.100034s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.289689s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.115219s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.107841s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.137754s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.114670s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id [0.112642s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.105629s] ... ok {12} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_missing_values_empty_string [0.034946s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.030439s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [1.080265s] ... ok {12} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_invalid_device [0.093650s] ... ok {28} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.075887s] ... ok {12} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state_fail [0.090203s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.107980s] ... ok {12} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_exception [0.094538s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.077336s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.098685s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif [0.089280s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.096391s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.089869s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.259065s] ... ok {28} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.059594s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done [0.099277s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_validate_oneview_resources_compatibility [0.063698s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.094982s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.123873s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fdd86984-e565-43f0-ae22-5f9abf573712 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.\"}"} {28} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_active_node [0.399754s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.053548s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.150866s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.013710s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_get_properties [0.038656s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_unknown [0.100277s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive [0.014087s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test__is_onetime_boot_false [0.052543s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue [0.119815s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_not_persistent [0.063930s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_rescue_interface_fail [0.015294s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class [0.014013s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.022047s] ... ok {28} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_fail [0.051219s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.013399s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.031306s] ... ok {28} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.074234s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.014530s] ... ok {28} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.081205s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.057522s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.046230s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_is_done [0.064480s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.133649s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_image [0.130273s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.112192s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id_extra [0.090727s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.060566s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.018513s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.096747s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.035101s] ... ok {28} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.009227s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.095683s] ... ok {28} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.016475s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.040147s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.024667s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_timeout_ok [0.094191s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.103598s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step [0.056960s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.011513s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_iscsi [0.136983s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.017172s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.152476s] ... 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-1ae4861c-a1ab-4145-8ed5-69198e2e7b58 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).\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.079082s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.017847s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_tftp_images_master_path [0.033110s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.022440s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.008480s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.029166s] ... ok {28} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.013658s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.082646s] ... ok {28} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.016273s] ... ok {12} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.016478s] ... ok {12} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver [0.003914s] ... ok {28} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.009180s] ... ok {12} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver_import_error [0.002441s] ... ok {28} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.009066s] ... ok {28} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.014618s] ... ok {12} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.035534s] ... ok {12} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.095532s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_console [0.054048s] ... ok {12} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.020297s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.056889s] ... ok {12} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.012545s] ... ok {12} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.016900s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.058772s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.051552s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.024365s] ... ok {12} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.018014s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.022889s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.057790s] ... ok {12} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.017839s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.053163s] ... ok {12} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.026338s] ... ok {28} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_vendor_routes [0.045042s] ... 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'}]} {28} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.050749s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.083028s] ... ok {28} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.008832s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.023728s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.023006s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.014007s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.012796s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.014613s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.018459s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.018094s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.052570s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.052435s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.011457s] ... ok {28} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.012166s] ... ok {28} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.018764s] ... ok {28} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.007673s] ... ok {28} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_get_properties [0.014192s] ... ok {28} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_boot_device [0.013644s] ... ok {28} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.014292s] ... ok {28} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_bad_method [0.051997s] ... 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'******'}} {6} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.095526s] ... ok {28} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.011261s] ... 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-a4e720c2-1f8d-4a19-8eb4-766b314b36e6 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-02-15T13:14:32.645774+00:00", "updated_at": "2018-02-15T13:14:32.709490+00:00", "address": "52:54:00:cf:2d:31"} {29} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.122670s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.108552s] ... ok {28} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.013687s] ... ok {28} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.007119s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.112105s] ... ok {28} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.006950s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.024950s] ... ok {28} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.008864s] ... ok {28} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.010268s] ... ok {28} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.010347s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.120180s] ... ok {28} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.015074s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.113826s] ... ok {28} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.010853s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.115841s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.097080s] ... ok {6} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_invalid_network_interface [0.024578s] ... ok {6} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_dhcp [0.026603s] ... ok {6} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_unset_interfaces [0.119971s] ... ok {6} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta [0.013782s] ... ok {6} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task [0.088225s] ... ok {6} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_known [0.016599s] ... ok {6} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.084264s] ... ok {6} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.084031s] ... ok {6} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.029670s] ... ok {6} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.018760s] ... ok {6} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_exception [0.013530s] ... ok {6} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.028204s] ... ok {6} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.014447s] ... ok {6} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.021444s] ... ok {6} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_out_range_auth_strategy [0.028320s] ... ok {6} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.018088s] ... ok {6} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.017353s] ... ok {6} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.037117s] ... ok {6} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.114993s] ... 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-507f49c3-48c8-47f3-a26d-ceac7ada77de 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-02-15T13:14:28.686460+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"} {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_no_extra [0.086150s] ... ok {6} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.019299s] ... ok {6} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.020696s] ... ok GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-288192f0-0798-43c7-936c-3bf14d12e847 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.\"}"} {6} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.221511s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.038086s] ... ok {6} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.101414s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.317779s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.324016s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.871943s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.198157s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.024610s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.034949s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.054621s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.024025s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_not_supported [0.088118s] ... ok {6} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.036738s] ... ok {6} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.015988s] ... ok {6} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.017605s] ... ok {6} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.126278s] ... ok {6} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.146108s] ... ok {6} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_same [0.099096s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.086021s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.054137s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.072949s] ... ok GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-beca44e3-40b2-45b5-b497-761966472989 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_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.033441s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.048716s] ... ok {6} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.034653s] ... ok {6} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.031026s] ... ok {6} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.036557s] ... ok {6} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.038799s] ... ok {6} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.094490s] ... ok {6} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.119365s] ... ok {6} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_properties [0.090896s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.084116s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.053815s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.062429s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.179659s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.143553s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.032568s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create_use_webserver_true_ramdisk_webserver [0.149556s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.120953s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.052487s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.030191s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.087620s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.096761s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.087068s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.100721s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.035600s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.168343s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.079706s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.122754s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.072387s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.105670s] ... ok POST: /v1/heartbeat/test.1 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-c815b926-2b52-4a0a-aa49-3b170e1894e9 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_ramdisk.TestHeartbeat.test_ok_by_name [0.071345s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_extra_new_key [0.111177s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.101600s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.212347s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.127987s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.103079s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.111711s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_has_sp_applied [0.093427s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_in_use_by_oneview [0.087097s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state [0.086791s] ... ok {6} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_on [0.094473s] ... ok {6} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.117842s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.089109s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot_fail [0.106380s] ... ok PUT: /v1/nodes/node-39/traits/bad_trait {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68d80478-fd50-48c0-9d2e-b57df917a651 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 _\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.088928s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook [0.054571s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.228233s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_interface [0.106791s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.098037s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.013704s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.032874s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.301890s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id [0.145251s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.021837s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.019951s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.027869s] ... 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 "} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.042325s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd_without_user [0.099072s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.036117s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.051611s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_ok [0.106129s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.108166s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [0.103302s] ... ok {6} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.026184s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.039146s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.021830s] ... ok {6} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_address [0.084561s] ... ok {6} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test___init___try_import_dracclient_failure [0.023540s] ... ok {6} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___try_import_exception [0.001672s] ... ok {6} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.027604s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.015986s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.015853s] ... ok {6} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.026907s] ... 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-b8b4148f-8f92-4942-b8ca-98630eaae5d8 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-02-15T13:14:27.552819+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-02-15T13:14:27.552819+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'} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.114422s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path [0.031224s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_inject_nmi [0.014973s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver [0.014031s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.012825s] ... ok DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-c0e54dcb-973b-44a4-9f34-250e6eb538a2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {26} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.109497s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-894e2efb-03c5-4ca9-a120-55575feead72 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\\\".\"}"} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.096950s] ... 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': '204dbe05-ccea-41f7-bbae-b5b2d242cdcb'}, '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-118600f6-af6d-4a3e-899f-dbae31b878a8 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.098079s] ... 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-e05ecc39-5dcb-43b6-87cd-1661949bdbd0 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-02-15T13:14:27.933990+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-02-15T13:14:27.933990+00:00'} {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.164088s] ... 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-d5449704-abc2-49ce-b7ba-97d505c8edb9 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'\"}"} GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-69dac04c-190e-4c1c-997b-23cab9409579 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-05dc3004-2d82-4cbb-9da4-95a8a5d96af3 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-f3be496a-a338-4e4d-a11e-aca12d2a044d 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-bc3db321-1b91-48aa-ace8-a72eb9b66e31 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\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.098345s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.059291s] ... ok GET: /v1/nodes/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84a0f782-c1bd-4842-82d0-3b45576902b6 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.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.074081s] ... 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-12e67155-660c-4592-8817-6ebba122bb29 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-7e38e19b-4e10-45cf-aa71-06bed5ecc237 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-02b7d562-562b-4320-a254-998d6317abff 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-28f1cf8a-d832-4a5a-8570-b74332f61281 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.291406s] ... 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-3728c222-5ef2-4a7b-b5e1-10957d3f8471 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\"}"} {29} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.064132s] ... 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-ca1045e2-ad60-441f-a041-0e5b79b9bdc9 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.049927s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6ae7258a-36b8-4091-94af-68b662a1f3dc {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'6ae7258a-36b8-4091-94af-68b662a1f3dc', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/6ae7258a-36b8-4091-94af-68b662a1f3dc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6ae7258a-36b8-4091-94af-68b662a1f3dc', 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'}}} {9} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.103654s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.035508s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_remove_chassis_uuid [0.015382s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs [0.014608s] ... 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-2b74f690-a2fe-47bd-b2d4-b12eaf127423 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'} {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail [0.015304s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.122802s] ... 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-086054c1-3260-4934-975a-250c8b4e13b9 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.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.050764s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs_fail [0.016380s] ... ok GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-eeb0223d-664b-4187-9bac-7c6c848e5265 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.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.058934s] ... 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-50502be6-9d4e-4b64-8642-9b753d566f80 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\\\"\"}"} 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-ece9d120-86a4-426c-8187-9720d485b3f3 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-02-15T13:14:33.176812+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-02-15T13:14:33.176812+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'} {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.120102s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.054661s] ... 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-12c706b8-9486-4f84-a0ac-b51c37978eb0 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\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.059774s] ... 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-5fdff180-3bcf-446f-8947-d59477c9099c 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.\"}"} {23} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.049471s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid [0.013069s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_links_node_states_and_driver_properties [0.014332s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs_fail [0.016495s] ... ok {23} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.014702s] ... 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-436c702e-8095-466a-af5e-0a4c5db2a9f2 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.\"}"} {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.062325s] ... ok GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-257fa8d1-aa2d-4deb-bd02-7d271762b4ec 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.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.063369s] ... 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-6d36c55c-c009-42e8-aaad-2dcd5b96adf3 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\"}"} {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.048457s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_node_rebuild_with_configdrive [0.014222s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type [0.020122s] ... 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-585c7846-e79a-4326-b413-8ab83b65591b 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.\"}"} {19} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.069339s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.034480s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_without_optional_key [0.013230s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.016257s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.013454s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.016935s] ... 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.080926s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.015573s] ... ok GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'ports': [{u'uuid': u'94e956ab-48c4-42d8-8060-97312b51bb40', u'links': [{u'href': u'http://localhost/v1/ports/94e956ab-48c4-42d8-8060-97312b51bb40', u'rel': u'self'}, {u'href': u'http://localhost/ports/94e956ab-48c4-42d8-8060-97312b51bb40', u'rel': u'bookmark'}], u'address': u'aa:bb:cc:dd:ee:f1'}]} {26} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.089360s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.023974s] ... 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-620876da-1410-4b41-ac1f-9d00a297fe09 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-02-15T13:14:28.062961+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': 'b6923a7c-2cd3-4215-bcad-03fe515ef071', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'b694327e-f744-45fe-9473-a4d46f3fe0cc'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-68990b1c-3536-47cc-a94e-c0173e9dbdb7 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.117325s] ... 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-437229de-a78f-48dd-b56d-fb9f75ac56c8 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.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.092860s] ... 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-41c185fc-8844-4bc5-bcfd-dfe45684167d 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\"}"} {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.074461s] ... 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-bae04b08-efab-4103-89aa-f81ca3eb63ea 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-02-15T13:14:29.978998+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-02-15T13:14:29.978998+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {9} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [1.048593s] ... 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-16966d8c-b109-4fea-8256-450e920e72f4 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-02-15T13:14:32.811239+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.107629s] ... 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-43e89060-86bf-49d0-8489-a7b1370f8783 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-02-15T13:14:32.994795+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-02-15T13:14:32.994795+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'} {29} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.125518s] ... 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'}]} {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.073561s] ... 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-537195a4-114d-4137-bdf1-3fba1b318dc9 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_ramdisk.TestHeartbeat.test_ok_agent_version [0.067779s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values [0.013773s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroup_mode_properties [0.014979s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class_fail [0.016041s] ... ok {29} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.013567s] ... 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-5aa0758d-989b-4f9f-8b6c-3f921a55f521 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-02-15T13:14:27.862206+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-02-15T13:14:27.862206+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.132710s] ... 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-f2f610de-95d5-4834-8e43-9065bdae26e6 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-2c76c837-c570-405b-bf9d-a59cfd6c981b 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-80c6467b-15d3-4bfa-a2aa-2dcb24d696cd 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-223b2900-a7e1-45e5-9193-cbd1d5306364 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.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.242495s] ... 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-ba781046-b3e4-40c1-92e9-20391ba9a3aa 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'\"}"} {9} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.065913s] ... 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-957b9170-11c5-4c77-8044-bef3f4c7e242 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'\"}"} {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.063397s] ... ok func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. 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-0be2fac0-f439-4470-9515-32f0034ab585 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-02-15T13:14:32.943991+00:00"} {9} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.028453s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.111868s] ... ok {9} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.147491s] ... ok {9} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.210045s] ... ok {9} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.020915s] ... ok {9} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.040517s] ... ok {9} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_none [0.154487s] ... ok {9} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.013514s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.017845s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw [0.019668s] ... ok {9} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.021172s] ... ok {9} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.015030s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.132937s] ... ok {9} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.181173s] ... 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-63221d2a-2c64-4e4e-927e-63cb327f2a63 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-02-15T13:14:28.182018+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"} {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.088928s] ... ok {9} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.013406s] ... ok {9} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.053503s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.033663s] ... ok {9} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.046000s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_valid_values [0.012871s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid [0.013980s] ... ok {9} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.101824s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_storage_interface [0.014494s] ... ok {9} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.024046s] ... ok {9} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.396813s] ... ok {9} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.445896s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.517784s] ... ok GET: /v1/volume/targets/9b84321f-c607-45f3-843a-f40dc03048a7 {} GOT:{u'boot_index': 0, u'uuid': u'9b84321f-c607-45f3-843a-f40dc03048a7', u'links': [{u'href': u'http://localhost/v1/volume/targets/9b84321f-c607-45f3-843a-f40dc03048a7', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9b84321f-c607-45f3-843a-f40dc03048a7', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:27.818867+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/9b84321f-c607-45f3-843a-f40dc03048a7 {} GOT:{u'boot_index': 0, u'uuid': u'9b84321f-c607-45f3-843a-f40dc03048a7', u'links': [{u'href': u'http://localhost/v1/volume/targets/9b84321f-c607-45f3-843a-f40dc03048a7', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9b84321f-c607-45f3-843a-f40dc03048a7', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:27.818867+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/9b84321f-c607-45f3-843a-f40dc03048a7 {} GOT:{u'boot_index': 0, u'uuid': u'9b84321f-c607-45f3-843a-f40dc03048a7', u'links': [{u'href': u'http://localhost/v1/volume/targets/9b84321f-c607-45f3-843a-f40dc03048a7', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9b84321f-c607-45f3-843a-f40dc03048a7', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:27.818867+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'}} {10} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.141869s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.464573s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_automated_clean [0.337815s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.300096s] ... ok {9} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive [0.014654s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data [0.822365s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices_iface_not_supported [0.068647s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.102340s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.096226s] ... ok {9} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.251724s] ... 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 "} {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.043284s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.020894s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.022177s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.021065s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.024211s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.088758s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.082164s] ... 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-b65947d0-3b9d-4ba8-8eef-4d56f7b6e656 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-02-15T13:14:34.353522+00:00", "updated_at": "2018-02-15T13:14:34.361201+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-3806acc3-4c6b-410b-b053-a724a9bc74c0 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-02-15T13:14:34.353522+00:00", "updated_at": "2018-02-15T13:14:34.361201+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {23} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.164998s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.142668s] ... ok {9} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.034956s] ... ok {9} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.103618s] ... ok {9} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.069544s] ... ok {9} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.138832s] ... ok {9} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleTestCase.test_cimc_handle [0.116334s] ... ok {9} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_address [0.034583s] ... ok {9} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_fail [0.112620s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.044993s] ... 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e1f9cf3-d4df-4e50-9a4d-3ed83176cdd2 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-f931d34c-cc66-45c9-adac-fb27b3142324 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-78f135e1-9ce2-48f6-8aa1-e2e278c0d092 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-8b304acf-b408-4e95-8d63-a8e44bd920ac 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-8091ebc4-81fe-464a-8243-3a1757526d77 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-168ac69c-9ef0-43fb-beff-f600610b52ed 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.175385s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.080150s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status [0.066743s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-bcad05b7-7ac1-4353-a102-bc6a42798155 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {13} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.079541s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.040676s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.108826s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.149906s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.137227s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.105532s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.084649s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.015708s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.036902s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.111055s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.104144s] ... 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 "} {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.045580s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.099571s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.144043s] ... 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 "} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.039043s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.135569s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.038183s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.083351s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.036707s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.076724s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.112349s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': []} {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.056426s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.126369s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.114737s] ... 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-95652157-fe97-47c4-b2cc-1b26948f0565 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-02-15T13:14:33.599881+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.101831s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.115331s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.112580s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.125783s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.140844s] ... ok {9} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_for_node_not_in_use_by_ironic [0.114275s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.035029s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.036761s] ... ok {9} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.153887s] ... ok {9} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.138805s] ... ok {9} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.136200s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.121104s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.117887s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_other_commands [0.086115s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_empty_response [0.077954s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.092293s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_off_fails [0.174857s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.104445s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.054613s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.050671s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overriden_default_value [0.034785s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.318832s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.023907s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.026279s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.022634s] ... ok {9} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.016563s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.057800s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_ok [0.054843s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.053526s] ... ok {9} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.009675s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.113529s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot [0.071063s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info [0.036003s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_kernel [0.020917s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.014908s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.057531s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.011830s] ... ok {9} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate [0.043841s] ... ok {9} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_check_node_managed_by_xclarity [0.022716s] ... ok {9} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.066483s] ... ok {9} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.030242s] ... ok {9} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.012228s] ... ok {9} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_existing_interfaces_inspector [0.012097s] ... ok {9} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_validate [0.014796s] ... ok {9} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.007692s] ... ok {9} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.021593s] ... ok {9} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.007979s] ... ok {9} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.007541s] ... ok {9} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.010755s] ... 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.049314s] ... ok {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.040465s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.046967s] ... ok Malformed option m1key1=value1 {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.028277s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.013212s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.052555s] ... ok {3} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_not_implemeted [0.014049s] ... 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-c5d9185d-0d1a-4894-b5c1-0d2cf2ead3df 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.\"}"} {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.022429s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.050875s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success [0.022336s] ... 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-2c0edaa0-07f5-4dd7-a5e0-13d0e9dbcda1 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-02-15T13:14:27.943737+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"} {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.017363s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.133024s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.023104s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-113a859e-c59a-40b9-ae04-3dcfa77ecb05 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\"}"} {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.029625s] ... ok {19} ironic.tests.unit.api.test_acl.TestACL.test_non_admin [0.081305s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.013404s] ... ok {19} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.026689s] ... ok {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.038579s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.207048s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.361320s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.292199s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.241170s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.157778s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_disabled [0.023808s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.126039s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.132957s] ... 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-02-15T13:14:28.419752+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_all [0.180244s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.070284s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_non [0.177253s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_node_locked [0.061982s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.098809s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.108963s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.154199s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.909204s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.023969s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.023119s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.023244s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.024383s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.013966s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.054311s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.076847s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.125450s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.105826s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.148203s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.031843s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_one_driver [0.045623s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.060233s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.079934s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.057448s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.027467s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.058241s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.047391s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.047608s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.041640s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.045244s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.125191s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.124990s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_to_instance [0.129680s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.119954s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_sensors_data [0.106615s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.090674s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.108807s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.110842s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.124817s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.034731s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.038097s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.204776s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.133674s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.142484s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.037469s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.337187s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.083185s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.137819s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.070555s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.110786s] ... 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-5778cb8a-cdd9-4ba5-a5d9-db723290950d 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-02-15T13:14:34.519926+00:00", "updated_at": "2018-02-15T13:14:34.527513+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {23} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.128812s] ... ok {23} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.028751s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_spt_enclosure_group_invalid [0.035726s] ... ok {23} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.030328s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_spt [0.038868s] ... ok {23} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.130097s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down [0.132640s] ... ok {23} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.015475s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.087347s] ... ok {23} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_no_exception [0.014317s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.033186s] ... ok {23} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.013593s] ... ok {23} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.020019s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.035826s] ... ok {23} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.049929s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.139834s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered [0.105406s] ... ok {23} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.026481s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.109101s] ... ok {23} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi [0.045252s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.143475s] ... ok {23} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.017601s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.115846s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_no_proxy_without_proxies [0.257908s] ... ok {23} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.010312s] ... ok {23} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.011077s] ... ok {23} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment_no_physnet [0.021239s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_did_start [0.165875s] ... ok {23} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.132769s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.017323s] ... ok {23} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.034819s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.083797s] ... ok {23} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir_ipxe [0.035370s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.069467s] ... ok {23} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.029587s] ... ok {23} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.115383s] ... ok {23} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.013931s] ... ok {23} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.212137s] ... ok {23} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_not_supported [0.072327s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.203026s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.487922s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_enabled [0.052785s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.049063s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.132580s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_invalid_state [0.284937s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retries_exceeded [0.047223s] ... ok GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'42641a27-76b8-49d4-be7c-5fcaa1d4a4be', u'links': [{u'href': u'http://localhost/v1/volume/targets/42641a27-76b8-49d4-be7c-5fcaa1d4a4be', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/42641a27-76b8-49d4-be7c-5fcaa1d4a4be', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.218279+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'01e63d4b-a84f-4e0c-97f0-a391edff72f4', u'links': [{u'href': u'http://localhost/v1/volume/targets/01e63d4b-a84f-4e0c-97f0-a391edff72f4', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/01e63d4b-a84f-4e0c-97f0-a391edff72f4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.223478+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'78b68301-45f5-4947-ac55-9455dd74ce75', u'links': [{u'href': u'http://localhost/v1/volume/targets/78b68301-45f5-4947-ac55-9455dd74ce75', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/78b68301-45f5-4947-ac55-9455dd74ce75', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.227470+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=78b68301-45f5-4947-ac55-9455dd74ce75'} {29} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.124667s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.041636s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provisioning_action_worker_pool_full [0.343855s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.377855s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.042021s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.109174s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.044107s] ... ok {23} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.396937s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.050000s] ... ok {23} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.077590s] ... ok {23} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.149025s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.113535s] ... ok {23} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.095029s] ... ok {23} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods_not_supported [0.072409s] ... ok {23} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.016117s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_fail [0.116828s] ... ok {23} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.020352s] ... ok {23} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.018091s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.344521s] ... ok {23} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.129016s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.232154s] ... ok {23} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.147653s] ... ok {23} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_local_boot [0.137369s] ... ok {23} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.906600s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue_swift [0.149969s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.024582s] ... ok {23} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.044502s] ... ok {23} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_one_driver [0.023656s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.030949s] ... ok {23} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.035331s] ... ok {23} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.081367s] ... ok {23} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.040082s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.023402s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.109909s] ... ok {23} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.024971s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.122454s] ... ok {23} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.063983s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.113607s] ... ok {23} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.080232s] ... ok {23} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.021632s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.020828s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.027206s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.022579s] ... ok {23} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_phyisical_disks [0.123231s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_properties [0.035698s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.092434s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_properties [0.087286s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.076264s] ... ok {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_agent [0.124924s] ... 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-ef526ac4-d733-4fe0-b2dc-1528a7ad99f0 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-02-15T13:14:33.068871+00:00"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.129693s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.075782s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.029532s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.025610s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_no_cafile [0.174862s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.070876s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.038860s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.030464s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.030383s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.046667s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.013380s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.153091s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_swift_error [0.070074s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.014379s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_swift_url [0.060608s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.028027s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.049646s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.034503s] ... ok {23} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.045184s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.031243s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.021462s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.021360s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.106715s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.075333s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.021645s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.020628s] ... ok {23} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.020096s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.071984s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.064727s] ... ok {23} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.204987s] ... ok {23} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off [0.062771s] ... ok {23} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_off [0.065032s] ... ok {23} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_off_with_timeout [0.059536s] ... ok {23} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.065083s] ... ok {23} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.119944s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.066575s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.075517s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_reboot [0.098712s] ... ok {23} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_configure_tenant_network_exception [0.097605s] ... ok {23} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.014755s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_get_clean_steps [0.063158s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.011366s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.011088s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.023877s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.017622s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.007375s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection [0.008590s] ... ok {23} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.063444s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.010570s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.050677s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.051532s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.063202s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_persistent [0.056247s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.055389s] ... ok {23} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.051350s] ... 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-02-15T13:14:27.807387+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-02-15T13:14:27.807387+00:00'} {13} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.124296s] ... ok {23} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.058717s] ... ok {23} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.041267s] ... ok {23} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.070651s] ... ok {23} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.041909s] ... ok {23} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.041994s] ... ok {23} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_ipa_debug [0.053060s] ... ok {23} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_ipa_debug [0.048726s] ... 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-3441b60d-bfa9-4601-b24d-e27171806650 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.\"}"} {23} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info [0.017857s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.064680s] ... ok {23} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_without_is_whole_disk_image [0.040471s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.012131s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.013346s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.047056s] ... ok {23} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.010053s] ... ok {23} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device [0.125424s] ... ok {23} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_exceed_iterations [0.093973s] ... ok {23} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_error [0.112196s] ... ok {23} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.054417s] ... ok {23} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_driver [0.001574s] ... ok {23} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.052635s] ... ok {23} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver_exc [0.001644s] ... ok {23} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_with_inspector_interface_enabled [0.054938s] ... ok {23} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.019722s] ... ok {23} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.015125s] ... ok {23} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.010986s] ... ok {23} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.018838s] ... ok {23} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.011512s] ... ok {23} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.012164s] ... ok {23} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.015112s] ... 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'}]} {29} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.074039s] ... ok GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4255cf3c-09fd-47fe-961c-cf3e50ce2422 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-33f180fa-8144-47c7-b6e6-56922b58dbd3 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\"}"} {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.064829s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d1f50e7f-810b-4375-982e-5f6ae3df7da6 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.080400s] ... ok {29} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.024899s] ... 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-fec0b96d-d22e-4da6-bd29-259a9720070b 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.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.062033s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.019083s] ... 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-324c589a-937d-4f3c-b40c-708cd5be92e9 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-02-15T13:14:33.057775+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-02-15T13:14:33.057775+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.TestPost.test_create_volume_target_valid_extra [0.121590s] ... ok {18} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.025647s] ... ok {18} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_unsupported_hw_type [0.014562s] ... ok {18} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_unsupported_interface_reset [0.019184s] ... ok {18} ironic.tests.unit.common.test_exception.TestIronicException.test___init__ [0.013358s] ... ok {18} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.019196s] ... ok {18} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.014443s] ... ok {18} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.105768s] ... ok {18} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.120925s] ... ok {18} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.102723s] ... ok {18} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.022010s] ... ok {18} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.023088s] ... 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'}]} {18} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.078539s] ... ok {19} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.042073s] ... ok {19} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.041385s] ... ok {18} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.088049s] ... ok {19} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.030826s] ... ok {19} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.020482s] ... ok {18} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_bios [0.089135s] ... ok {19} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.020044s] ... ok {18} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.025191s] ... ok {18} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.080472s] ... ok {19} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.013532s] ... ok {18} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.014407s] ... ok {19} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.013069s] ... ok {18} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_name_conflict [0.030597s] ... ok {19} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.025557s] ... ok {18} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.257550s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version [0.321387s] ... ok {19} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_ioerror [0.021498s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.111557s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_provide [0.285806s] ... 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 "} 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-02-15T13:14:28.557350+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'}}]} {19} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.025088s] ... ok {29} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.027354s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.074705s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.333993s] ... ok {19} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.026131s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.023854s] ... ok {19} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.015497s] ... ok {19} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.013302s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.055454s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.026225s] ... ok {19} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.033377s] ... ok {19} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.033352s] ... ok {19} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.014060s] ... ok {18} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.218848s] ... ok {18} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.114902s] ... ok {19} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.311619s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.014233s] ... ok {19} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.261694s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.022557s] ... ok {18} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.017698s] ... ok {19} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.038366s] ... ok {18} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_ironic_exception [0.016267s] ... ok {19} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.068211s] ... ok {18} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_shared_lock [0.019413s] ... ok {19} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.148607s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_prepare_error [0.317718s] ... ok {18} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.016212s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.321245s] ... ok {19} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_exceptions_skipping [0.252616s] ... ok {18} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.095319s] ... ok {19} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.022701s] ... ok {19} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.950757s] ... ok {19} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.065572s] ... ok {18} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.019145s] ... ok {19} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async_hw_type [0.254735s] ... ok {18} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_no_driver [0.031499s] ... ok {19} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.014229s] ... ok {19} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout [0.015727s] ... ok {18} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.032310s] ... ok {18} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.077683s] ... ok {19} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.140609s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {19} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.090366s] ... ok {29} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.047071s] ... ok {18} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.049729s] ... ok {18} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.034410s] ... ok {29} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.177543s] ... ok {29} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task_incorrect [0.586713s] ... ok {29} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.022114s] ... ok {19} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {18} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.057249s] ... ok {18} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.036494s] ... ok {29} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type_missing [0.023703s] ... ok {18} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.041319s] ... ok {29} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_network_interface_is_set [0.086834s] ... ok {19} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.104294s] ... ok {29} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_false [0.013444s] ... ok {19} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.029895s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.118982s] ... ok {29} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_get_ring_success [0.053917s] ... ok {19} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.029866s] ... ok {18} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change [0.098187s] ... ok {29} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_connerror [0.017235s] ... ok {19} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.034944s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.029001s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.048834s] ... ok {29} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.022710s] ... ok {29} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.110714s] ... ok {19} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.040046s] ... ok {19} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.029378s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.122729s] ... ok {29} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.161390s] ... ok {19} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.015103s] ... ok {19} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.102990s] ... ok {29} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.173611s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.122716s] ... ok {19} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.103404s] ... ok {29} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.022415s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.233086s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.034284s] ... ok {19} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.032671s] ... ok {29} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.021930s] ... ok {19} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.127150s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.087032s] ... ok {29} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.140907s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.046755s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.093745s] ... ok {29} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.029257s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.039599s] ... ok {29} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.024233s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.056859s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.095310s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.151908s] ... ok {29} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.016067s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.086855s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.150062s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.153887s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.116746s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.033860s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.033864s] ... ok {29} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.112812s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.029646s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.071224s] ... ok GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f0c7feea-d883-4d36-9d9b-c573b77e34de {"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-19232396-c2a1-4833-b50d-575fb844c5e4 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"} {18} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.018224s] ... ok {29} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_throws_for_invalid_or_unsupported_hash [0.013428s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.039703s] ... ok {10} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.081755s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.056854s] ... ok {29} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.030771s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.102734s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.015787s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.078221s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.084998s] ... ok {29} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.020442s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.089288s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.099432s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.116142s] ... ok {29} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.246730s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.064685s] ... ok {29} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.190763s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.355052s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.111719s] ... ok {29} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.047374s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.151176s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.092454s] ... ok {29} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_driver_or_hw_types [0.042501s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif [0.095387s] ... ok {29} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.115561s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.104521s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.064031s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.117751s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.055497s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.402865s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.756194s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.091022s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_swift_error [0.324285s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.194028s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.082054s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.104886s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_2 [0.334554s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.186581s] ... ok {29} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.372983s] ... ok {19} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device [0.099191s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.031240s] ... ok {19} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail_exception [0.052238s] ... ok {29} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.124860s] ... ok {19} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_fail [0.062030s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.076268s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.019159s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.057903s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.092407s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.042317s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.111122s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.097164s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance [0.184009s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.291017s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.107672s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_with_driver [0.040708s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.073704s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_doesnt_complete [0.130692s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.141157s] ... ok {29} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.043729s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.013988s] ... ok {29} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.016276s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.069095s] ... ok {19} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.016970s] ... ok {29} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.146062s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_port_mac_server_hardware_invalid [0.022774s] ... ok {19} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.042331s] ... ok {29} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.753892s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_deploy [0.057229s] ... ok {18} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_soft_reboot [0.056745s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.115525s] ... ok {29} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.027975s] ... ok {18} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.116492s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.017644s] ... ok {29} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.091203s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.014479s] ... ok {29} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.038813s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.143012s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.027570s] ... ok {29} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.039887s] ... ok {29} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.045639s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.076407s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.130995s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.167286s] ... ok {19} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.025449s] ... ok {29} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.043522s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off [0.088136s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.018172s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean [0.092670s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_empty_password [0.097284s] ... ok {29} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.139179s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.010270s] ... ok {29} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.128952s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.084599s] ... ok {29} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.033890s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.095290s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.092182s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.066001s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.013874s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.060233s] ... ok {29} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.094432s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_config [0.022523s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.068533s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.111837s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.022001s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console_fail [0.056571s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.098355s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.018680s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.026443s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.023530s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.038237s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.052442s] ... 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-40c23e14-c9d0-4553-bd34-a4784006af54 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'\"}"} {29} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.037983s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.053104s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_ok [0.051293s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.064902s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state [0.052132s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi [0.054901s] ... ok {11} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.032345s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.052091s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.046087s] ... ok {11} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.025570s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_fail [0.056962s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.010399s] ... ok {19} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.056536s] ... ok {11} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_allowed_interfaces [0.050129s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.081093s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_timeout_ok [0.054041s] ... ok {11} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.013914s] ... ok {19} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.019052s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.072363s] ... ok {11} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.013682s] ... ok {18} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.037531s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.045301s] ... ok {29} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.052525s] ... ok {11} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.017722s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.025017s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_ipxe_timeout [0.056808s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.022138s] ... ok {11} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.035756s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.077620s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.026190s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_without_is_whole_disk_image [0.064778s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.016638s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.022560s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.101027s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.047043s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.011790s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.026380s] ... ok {11} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.012778s] ... ok {18} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_timeout [0.134598s] ... ok {29} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.101515s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.022954s] ... ok {11} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_skip_if_no_hw_types [0.021714s] ... ok {18} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_invalid_state [0.135646s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.160616s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.013473s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.057803s] ... ok {18} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate_fail [0.047590s] ... ok {11} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.206261s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.016292s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.055836s] ... ok {18} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.059362s] ... ok {11} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.316439s] ... ok {19} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device_fail [0.122629s] ... ok {29} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.064215s] ... ok {18} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.008476s] ... ok {11} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.385213s] ... ok {19} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables_immutable [0.007102s] ... 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': '2ad8a6a4-9e24-4846-bdcd-1adfafbb7663'}, '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-92b469e5-0abc-4e7a-8d4b-1eaead6d1d83 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": "2ad8a6a4-9e24-4846-bdcd-1adfafbb7663"}, "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-02-15T13:14:33.203236+00:00"} {29} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client_insecure_cafile [0.029059s] ... ok {18} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.010704s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.132614s] ... ok {11} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.273339s] ... ok {19} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.012810s] ... ok {29} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_sh [0.017647s] ... ok {18} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_mandatory_interfaces [0.010957s] ... ok {11} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.070769s] ... ok {19} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.012674s] ... ok {29} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic [0.049215s] ... ok {18} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_properties [0.014204s] ... ok {19} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.012574s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.319471s] ... ok {29} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_sensors_data_not_implemented [0.048194s] ... ok {18} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.059577s] ... ok {19} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.006959s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.162352s] ... ok {18} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.008665s] ... ok {19} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.008942s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.163067s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.057592s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.008750s] ... ok {19} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.006738s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.059684s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.093739s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.057615s] ... ok {19} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.010181s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.007483s] ... ok {29} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.009705s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.032328s] ... ok {19} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.012950s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.022890s] ... ok {29} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.017430s] ... ok {19} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.009737s] ... ok {19} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.016101s] ... ok {29} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.012272s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.009393s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.193344s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_custom_interface [0.057206s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.304466s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities [0.062294s] ... ok {18} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.014038s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.013646s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.393029s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.210684s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.072232s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.093299s] ... ok {29} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.165504s] ... ok {11} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.158271s] ... ok {29} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.015410s] ... ok {11} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.073443s] ... ok {29} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.011306s] ... ok {29} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.016495s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.056612s] ... ok {11} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.014463s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.022529s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.053203s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.044824s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.024074s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.024344s] ... ok {11} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.040205s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.024290s] ... ok {11} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.037423s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.021435s] ... ok {11} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.750133s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.058689s] ... ok {11} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.105511s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.040987s] ... ok {11} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.019621s] ... ok {29} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.051925s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.050440s] ... ok {11} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.089294s] ... ok {11} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.034846s] ... ok {11} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.031381s] ... ok {11} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.091827s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.055727s] ... ok {11} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.105092s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.095073s] ... ok {11} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.094118s] ... ok {11} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device_fail [0.094785s] ... ok {29} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.076888s] ... ok {29} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.085659s] ... ok {11} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_properties [0.082992s] ... ok {11} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on_timeout [0.096844s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.028768s] ... ok {29} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.039926s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.044029s] ... 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-3b865435-98a8-49cf-bc85-8ed0a90ac434 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.\"}"} {29} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipa_debug_rescue [0.061209s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_cannot_send_create_port [0.088227s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.054782s] ... ok {29} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.018413s] ... ok {29} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_additional_volume_type [0.063491s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.044728s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.113925s] ... ok {29} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.020615s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.113569s] ... 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-f3dcc48d-13c4-4b41-9132-3d4dd0932561 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-02-15T13:14:28.119447+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"} {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.106195s] ... ok {29} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm_fail [0.176671s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.062789s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPortgroupObject.test_portgroup_init [0.013908s] ... ok {29} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.077425s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.094382s] ... ok {29} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.013348s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.017602s] ... ok {29} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_hardware_type [0.014330s] ... ok {29} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.023078s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.016902s] ... ok {29} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver_import_error [0.002677s] ... ok {29} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.015164s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_environment_error [0.103717s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_if_invalid_update_mode_provided [0.084639s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.097124s] ... ok {29} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.009528s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.033357s] ... ok {29} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.007741s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_iscsi [0.134506s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.012260s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.126203s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.013043s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.227280s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.008310s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.029374s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.114423s] ... ok {29} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.007489s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.101100s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.105856s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.116288s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.145068s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.124743s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.100907s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.036766s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.093194s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.092011s] ... ok {11} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_invalid_device [0.095847s] ... ok {11} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.148685s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_image_source_is_url [0.168920s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.100636s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_fails [0.132730s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.298488s] ... ok {11} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.025282s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.033856s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.013689s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.015430s] ... ok {11} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_ok [0.019378s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.091709s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.098087s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.040057s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.034927s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_fail [0.127545s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_fail [0.105600s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.096838s] ... ok {11} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.189523s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.150897s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.167230s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.076848s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.085357s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_rescue_kernel [0.033508s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.038482s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.024436s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.023874s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.019807s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.019950s] ... ok {11} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver [0.004472s] ... ok {11} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.115715s] ... ok {11} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.020728s] ... ok {11} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.033481s] ... ok {11} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.025263s] ... 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-de22de28-7725-4b9a-bb92-07f84ed04d4d 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-02-15T13:14:32.920590+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-02-15T13:14:32.920590+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'******'}} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.173612s] ... 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-286d9a38-663f-44c2-8c1f-9cc608f041d3 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.\"}"} {26} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.059004s] ... 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-f10dd4b7-f6f7-4a60-83df-3727aa276176 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.080059s] ... 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-b8ca5991-7996-4a9a-98fd-bb41d3441340 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-02-15T13:14:28.099538+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"} {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.104420s] ... 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-94947f39-98eb-42be-b1bf-3cf9407d3a5f 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-21bcb181-4c31-46c8-a4da-56fceb913878 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"} {10} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [0.092837s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bebb18e2-014c-4b21-b0e2-a8f9895e99ae {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {10} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.036698s] ... ok func1() migrated 10 of 15 objects. {10} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.022231s] ... ok {10} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.105685s] ... ok {10} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.117696s] ... ok {10} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_not_allowed_interfaces_set [0.037179s] ... ok {10} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults [0.022643s] ... 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-9050a81c-b5a6-4dfd-b2d3-e8b353c4206c 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.074435s] ... ok {10} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.090220s] ... ok {10} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_rescue_interface [0.023755s] ... ok {10} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.022278s] ... ok {10} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.012256s] ... ok {10} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_efibootimg [0.023418s] ... ok {10} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.015428s] ... ok {10} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.018218s] ... ok {10} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.091043s] ... ok {10} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.092080s] ... ok {10} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.039101s] ... ok {10} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.032063s] ... ok {10} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.061593s] ... ok {10} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.035747s] ... ok {10} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5_not_binary [0.012888s] ... ok {10} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.013218s] ... ok {10} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.012671s] ... ok {10} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.235820s] ... ok {10} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.270665s] ... ok {10} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.061760s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.164509s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.155903s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.022853s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.058086s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.022568s] ... ok {10} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.355722s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device [0.140333s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.166827s] ... ok {10} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.015112s] ... ok {10} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.041134s] ... ok {10} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.084463s] ... ok {10} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {10} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.033534s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.054104s] ... ok {10} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.033309s] ... ok {10} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.033989s] ... ok {10} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.041204s] ... ok {10} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.015373s] ... ok {10} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.035006s] ... ok {10} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.032928s] ... ok {10} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_username [0.032155s] ... ok {10} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_invalid_state [0.093169s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.156397s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.824206s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.088397s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.031537s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.026747s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.087877s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.075548s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.160679s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.175542s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.028747s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.500744s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.139918s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.207443s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.290425s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.099862s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.197197s] ... ok {10} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_validate [0.097125s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.030525s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.099048s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.113411s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.096529s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.124015s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_fail [0.103868s] ... ok {10} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.019011s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.013534s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.039609s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.033150s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.037535s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.196598s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.032203s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.027870s] ... ok {10} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.022578s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.071525s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.033877s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_invalid_port [0.066438s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.141358s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_start_console [0.087360s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.098087s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.090155s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state_exception [0.095151s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_properties [0.031360s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false [0.155648s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.201985s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.030589s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.031626s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.024569s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.024335s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.028324s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.086298s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.082095s] ... ok {10} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.012593s] ... ok {10} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.094110s] ... ok {10} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver_import_error [0.002902s] ... ok {10} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.024200s] ... ok {10} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.019161s] ... ok {10} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.025963s] ... ok {10} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.019948s] ... ok {10} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.111618s] ... ok {10} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.012893s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.013071s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.013054s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.014700s] ... ok {10} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.021834s] ... ok {10} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.022169s] ... ok {10} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.022371s] ... ok {10} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.024591s] ... 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-99e393a8-760f-48a0-baa1-0f19f2ec5b98 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-02-15T13:14:28.202756+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"} {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.104541s] ... 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-e3567116-8b54-44c8-8652-83f95e090db8 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-08a1eede-0aeb-4be9-9943-934566b852f0 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.TestPost.test_create_portgroup_mode_old_api_version [0.096376s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups_subcontrollers [0.015209s] ... ok {31} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.013438s] ... 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-db725378-73f1-4411-b861-8ae620f338cc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.076897s] ... ok GET: /v1/portgroups/detail?sort_key=mode {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'48ad072a-4eb8-4682-a7a1-1d0d532d07b4', u'links': [{u'href': u'http://localhost/v1/portgroups/48ad072a-4eb8-4682-a7a1-1d0d532d07b4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/48ad072a-4eb8-4682-a7a1-1d0d532d07b4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.331818+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/48ad072a-4eb8-4682-a7a1-1d0d532d07b4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/48ad072a-4eb8-4682-a7a1-1d0d532d07b4/ports', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'97c3ef17-ca4c-4296-8fa9-86539f8b6b6a', u'links': [{u'href': u'http://localhost/v1/portgroups/97c3ef17-ca4c-4296-8fa9-86539f8b6b6a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/97c3ef17-ca4c-4296-8fa9-86539f8b6b6a', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.327670+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/97c3ef17-ca4c-4296-8fa9-86539f8b6b6a/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/97c3ef17-ca4c-4296-8fa9-86539f8b6b6a/ports', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'9aedb34f-d29c-428f-81cd-44ffbdb7fbb0', u'links': [{u'href': u'http://localhost/v1/portgroups/9aedb34f-d29c-428f-81cd-44ffbdb7fbb0', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9aedb34f-d29c-428f-81cd-44ffbdb7fbb0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.323513+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/9aedb34f-d29c-428f-81cd-44ffbdb7fbb0/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9aedb34f-d29c-428f-81cd-44ffbdb7fbb0/ports', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.113697s] ... 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-6cdff99e-406e-49f9-ba39-04050eaab626 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {22} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.098987s] ... 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-03f65e96-c1e1-48cb-ac95-d1b46cf6d7e6 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-02-15T13:14:28.338269+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"} {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.087532s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c125e6aa-8c41-4a72-a191-39609ea57dd5 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.094439s] ... ok GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d1ec1083-4066-4d40-983e-0514a0aa10d8 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-a9672911-48de-41d0-9d8a-f98c5d422514 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-8fb92db3-b9ae-42f2-9bc2-20598e08dbee 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-eade937d-db70-4921-a387-7aa54995e462 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\"}"} {26} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.093858s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches [0.035858s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.013640s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_internal_info [0.015651s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_resource_class [0.014737s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_volume [0.015103s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.013282s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.014912s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-521a9a19-e60f-476c-b881-e5ba01fccd6c 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.085546s] ... 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': []} {31} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.169098s] ... 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-57f462a4-76d2-4363-bc44-111f2364ed96 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-02-15T13:14:28.426640+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-02-15T13:14:28.426640+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'} {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.117517s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.033248s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_traits [0.015303s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs [0.014625s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.016309s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.014212s] ... 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 "} {22} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.056806s] ... ok GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-167163f3-9d07-49a1-ac0b-7e985fa5f8b2 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.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.056711s] ... 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-43817ad4-607e-4ef3-8e07-76844b4e861d 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.\"}"} {13} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.051713s] ... 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-59dc6ef5-dddc-4629-8d5f-c5563ce95fea 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.062359s] ... 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-094a9cb7-a4ae-4afe-b6ab-278c2ff8fd2e 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-02-15T13:14:28.546728+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {31} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.112070s] ... ok GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'3a840a96-6721-4893-9868-3d4443520fe3', u'links': [{u'href': u'http://localhost/v1/volume/connectors/3a840a96-6721-4893-9868-3d4443520fe3', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/3a840a96-6721-4893-9868-3d4443520fe3', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.661912+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'024e651a-aad7-4d04-876e-b707b91e2889', u'links': [{u'href': u'http://localhost/v1/volume/connectors/024e651a-aad7-4d04-876e-b707b91e2889', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/024e651a-aad7-4d04-876e-b707b91e2889', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.667103+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'd3ff9126-4808-4a38-a947-1351693da4da', u'links': [{u'href': u'http://localhost/v1/volume/connectors/d3ff9126-4808-4a38-a947-1351693da4da', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/d3ff9126-4808-4a38-a947-1351693da4da', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.670827+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=d3ff9126-4808-4a38-a947-1351693da4da'} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.126462s] ... ok 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 "} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.042385s] ... ok GET: /v1/volume/targets?fields=uuid,extra {} GOT:{u'targets': [{u'uuid': u'95b4dd8e-edbd-4dac-88f0-d601a20cf8fc', u'links': [{u'href': u'http://localhost/v1/volume/targets/95b4dd8e-edbd-4dac-88f0-d601a20cf8fc', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/95b4dd8e-edbd-4dac-88f0-d601a20cf8fc', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'ca256f7d-f0ac-4612-98ab-2f670e9ed2ef', u'links': [{u'href': u'http://localhost/v1/volume/targets/ca256f7d-f0ac-4612-98ab-2f670e9ed2ef', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/ca256f7d-f0ac-4612-98ab-2f670e9ed2ef', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'ba367b5c-f300-4146-a6dc-97ad1681c374', u'links': [{u'href': u'http://localhost/v1/volume/targets/ba367b5c-f300-4146-a6dc-97ad1681c374', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/ba367b5c-f300-4146-a6dc-97ad1681c374', u'rel': u'bookmark'}], u'extra': {}}]} {13} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [1.011011s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6f152880-0baa-4937-802e-fd536761c590 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\": \"\"}"} {31} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.068064s] ... ok GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'connector_id': u'iqn.2012-06.com.example:initiator'}]} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.073928s] ... 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 "} {31} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.044126s] ... ok GET: /v1/ports/33c88b21-cce4-4df9-b894-507ec4e7e911 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'33c88b21-cce4-4df9-b894-507ec4e7e911', u'links': [{u'href': u'http://foo/v1/ports/33c88b21-cce4-4df9-b894-507ec4e7e911', u'rel': u'self'}, {u'href': u'http://foo/ports/33c88b21-cce4-4df9-b894-507ec4e7e911', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.690009+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/33c88b21-cce4-4df9-b894-507ec4e7e911 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'33c88b21-cce4-4df9-b894-507ec4e7e911', u'links': [{u'href': u'http://foo/v1/ports/33c88b21-cce4-4df9-b894-507ec4e7e911', u'rel': u'self'}, {u'href': u'http://foo/ports/33c88b21-cce4-4df9-b894-507ec4e7e911', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.690009+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/33c88b21-cce4-4df9-b894-507ec4e7e911 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'33c88b21-cce4-4df9-b894-507ec4e7e911', u'links': [{u'href': u'http://foo/v1/ports/33c88b21-cce4-4df9-b894-507ec4e7e911', u'rel': u'self'}, {u'href': u'http://foo/ports/33c88b21-cce4-4df9-b894-507ec4e7e911', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:33.690009+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {22} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.154977s] ... 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'}]}]} {13} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.040140s] ... ok {13} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.018921s] ... ok {13} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.016525s] ... ok {13} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.019515s] ... ok {13} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.099095s] ... ok {13} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.021941s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.101844s] ... ok {13} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.013935s] ... ok {13} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.230103s] ... ok {13} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.358348s] ... ok {13} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.522536s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.231063s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_manual_clean [0.339464s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.030841s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_pxe [0.195491s] ... ok {13} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.145237s] ... ok {13} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.111012s] ... ok {13} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.167800s] ... ok {13} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.020832s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.121639s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.046939s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_disabled [0.186200s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_part [0.183662s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices [0.065955s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_node_locked [0.062470s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.124550s] ... ok {13} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.018715s] ... ok {13} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.022097s] ... ok {13} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_random_exception [0.017147s] ... ok {13} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.017351s] ... ok {13} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.713126s] ... ok {13} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.120845s] ... ok {13} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.109819s] ... ok {13} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.104970s] ... ok {13} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_version_exists [0.033345s] ... ok {13} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.041444s] ... ok {13} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.027852s] ... ok {13} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.038118s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.038456s] ... ok {13} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.040987s] ... ok {13} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.104036s] ... ok {13} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.142585s] ... ok {13} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_timeout [0.104910s] ... ok {13} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_imc_exception [0.091916s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.029008s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.034250s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs [0.037892s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.035389s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.035685s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.038259s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance [0.108289s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_object_name [0.063225s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.146536s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.097253s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.118105s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.041674s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.015568s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.105791s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.097790s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.112414s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_zero_and_existing_cap [0.075078s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.074582s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.105713s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.293529s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.107748s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.109050s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.095017s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.103820s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.103478s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.100240s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_ilo_access [0.031308s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_properties [0.032061s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down [0.094750s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_cleaning [0.108688s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail [0.104322s] ... ok {13} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_invalid_state [0.090401s] ... ok {13} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.092902s] ... ok {13} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.138065s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.099968s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started [0.095026s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.082931s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook_no_hook_registered [0.058247s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.015614s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.016762s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.016027s] ... ok {13} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.019981s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.019353s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.017384s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.029089s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.040104s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.039808s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.034408s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.017618s] ... ok {13} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.021263s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.034729s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail_nodir [0.095485s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.094244s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.105732s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.090960s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.091239s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.041555s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.086974s] ... ok {13} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.029784s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.033765s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.058897s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.022705s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.083428s] ... ok {13} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.087952s] ... ok {13} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.018626s] ... ok {13} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.024105s] ... ok {13} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.013697s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.015883s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.013267s] ... ok {13} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.016136s] ... ok {13} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.013607s] ... 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-43c4a8fa-59dc-43ac-91d9-adde9aec9d7f 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'\"}"} {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.061916s] ... ok {26} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestVolumeConnectorObject.test_volume_connector_init [0.013417s] ... 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-ac6990fc-c24e-4760-8fd8-f3764d2a6c57 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.\"}"} {31} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.056530s] ... ok {31} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.022759s] ... ok {31} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.013843s] ... ok {31} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.031088s] ... ok {31} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.014032s] ... ok {31} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_account_exception_radosgw [0.013793s] ... ok {31} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.112710s] ... ok {31} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.100086s] ... ok {31} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.021690s] ... ok {31} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.029817s] ... ok {31} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.023349s] ... ok {31} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.043808s] ... ok {31} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.033505s] ... ok {31} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.019192s] ... ok {31} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.030705s] ... ok {31} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.024766s] ... ok {31} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.015419s] ... ok {31} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.015407s] ... ok {31} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.234930s] ... ok {31} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.218438s] ... ok {31} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_no_skip [0.098201s] ... ok {31} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.346232s] ... ok {31} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.155925s] ... ok {31} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.025859s] ... ok {31} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.340276s] ... ok {31} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.295176s] ... ok {31} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_supported [0.104949s] ... ok {31} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task [0.215100s] ... ok {31} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.117130s] ... ok {31} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.037998s] ... ok {31} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.021411s] ... ok {31} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.039268s] ... ok {31} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.017356s] ... ok {31} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.175787s] ... ok {31} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.169177s] ... ok {31} ironic.tests.unit.db.test_api.MigrateToHardwareTypesTestCase.test_migrate [0.093235s] ... ok {31} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.052122s] ... ok {31} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.033211s] ... ok {31} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.040005s] ... ok {31} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.031584s] ... ok {31} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.074092s] ... ok {31} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.038515s] ... ok {31} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.039641s] ... ok {31} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.014611s] ... ok {31} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.101549s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.888611s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host_and_drac_address [0.031912s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.128481s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.036428s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.084700s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.039691s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.045038s] ... ok {31} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration [0.273492s] ... 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-e6d3e6df-afc1-47b8-835b-7a6c2dfe474d 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-02-15T13:14:33.922896+00:00", "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-02-15T13:14:33.851100+00:00"} {31} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_InvalidParam [0.129203s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.032798s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.142419s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.104597s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.032949s] ... ok {31} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [0.077093s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.171080s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.168595s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.120996s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.075694s] ... ok {31} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.079094s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.167877s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.114446s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.116709s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.130833s] ... ok {31} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.104759s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_server_hardware_type [0.033067s] ... ok {31} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info [0.033552s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.105650s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.108718s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.104255s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.030582s] ... ok {31} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.033090s] ... ok {31} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.122593s] ... ok {31} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.154799s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.043645s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.096426s] ... ok {31} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.016754s] ... ok {31} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.026880s] ... ok {31} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.052066s] ... ok {31} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.051341s] ... ok {31} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.060521s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.023982s] ... ok {31} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.092168s] ... ok {31} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.030626s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.036670s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.038344s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.070755s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_bad_device [0.130015s] ... ok {31} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.116907s] ... ok {31} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.070816s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.110647s] ... ok {31} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.089289s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.021548s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.022356s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.029467s] ... ok {31} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_security [0.019486s] ... ok {31} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_logout [0.100217s] ... ok {31} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.025748s] ... ok {31} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_default_interfaces [0.092754s] ... ok {31} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_boot_interface [0.023738s] ... ok {31} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.023977s] ... ok {31} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.090455s] ... ok {31} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_iscsi_driver_exc [0.002576s] ... ok {31} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.092627s] ... ok {31} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.032611s] ... ok {31} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.015296s] ... ok {31} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.015791s] ... ok {31} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.019799s] ... ok {31} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.022818s] ... ok {31} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.017989s] ... ok {31} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.022112s] ... ok {31} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.023124s] ... 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-4d6cfd05-f323-4afc-96f4-27bf2e474502 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.TestPatch.test_invalid_physnet_non_text [0.080571s] ... 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-a6c0c84e-a542-4c8d-bcca-1be5efe70218 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-02-15T13:14:34.070716+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {22} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.121485s] ... ok GET: /v1/volume/targets/?limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'f10f5eef-305f-4676-8217-d54227075615', u'links': [{u'href': u'http://localhost/v1/volume/targets/f10f5eef-305f-4676-8217-d54227075615', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/f10f5eef-305f-4676-8217-d54227075615', 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'200894a2-9969-4757-95e5-976c25cdbafb', u'links': [{u'href': u'http://localhost/v1/volume/targets/200894a2-9969-4757-95e5-976c25cdbafb', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/200894a2-9969-4757-95e5-976c25cdbafb', 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'aaac1df2-af9a-49a2-a996-71e2a2280d35', u'links': [{u'href': u'http://localhost/v1/volume/targets/aaac1df2-af9a-49a2-a996-71e2a2280d35', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/aaac1df2-af9a-49a2-a996-71e2a2280d35', 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=aaac1df2-af9a-49a2-a996-71e2a2280d35'} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.120610s] ... 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-02-15T13:14:34.194602+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'}]} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.088335s] ... ok GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f4e3bb0-ff4e-4b9a-bdda-ee8d0a596f31 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-fb854fa0-21d6-4a1d-8e12-119a9f996206 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-f0cabc13-11f0-4275-a20c-42cba27fdacb 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\"}"} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.082711s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'98c658cd-f36e-4ec4-8e57-936ecfac57bf', u'links': [{u'href': u'http://localhost/v1/portgroups/98c658cd-f36e-4ec4-8e57-936ecfac57bf', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/98c658cd-f36e-4ec4-8e57-936ecfac57bf', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'5c10c6ff-8e9d-4d8a-a017-65ac65cfa806', u'links': [{u'href': u'http://localhost/v1/portgroups/5c10c6ff-8e9d-4d8a-a017-65ac65cfa806', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/5c10c6ff-8e9d-4d8a-a017-65ac65cfa806', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'9aa22696-36ab-4cd7-aad5-d0af4cc7162b', u'links': [{u'href': u'http://localhost/v1/portgroups/9aa22696-36ab-4cd7-aad5-d0af4cc7162b', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9aa22696-36ab-4cd7-aad5-d0af4cc7162b', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'7cccb20e-aef4-4c05-bc82-e7eb7338cee8', u'links': [{u'href': u'http://localhost/v1/portgroups/7cccb20e-aef4-4c05-bc82-e7eb7338cee8', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/7cccb20e-aef4-4c05-bc82-e7eb7338cee8', u'rel': u'bookmark'}], u'name': u'portgroup3'}, {u'address': u'52:54:00:cf:2d:34', u'uuid': u'0156ce95-0560-4e6f-a966-6d15e942ca3c', u'links': [{u'href': u'http://localhost/v1/portgroups/0156ce95-0560-4e6f-a966-6d15e942ca3c', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0156ce95-0560-4e6f-a966-6d15e942ca3c', u'rel': u'bookmark'}], u'name': u'portgroup4'}]} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.164594s] ... ok GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0f716aee-ffe7-4c0c-836a-f5792c4b6b9a 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.060138s] ... 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-cc9731f7-1112-498f-95ba-061e3a15998e 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\"}"} {26} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.060992s] ... ok {26} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.029690s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fbc820c5-6f50-45f1-b58f-a9ca441d8e82 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {26} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.038376s] ... ok {26} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_invalid [0.017183s] ... ok {26} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.014725s] ... ok {26} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.029014s] ... ok {26} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_for_hrefs [0.026747s] ... ok {26} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.017941s] ... ok {26} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.008653s] ... ok {26} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.111226s] ... ok {26} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.043901s] ... ok {26} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.017913s] ... ok {26} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.101758s] ... ok {26} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.078235s] ... ok {26} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.013247s] ... ok {26} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.096656s] ... ok {26} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.092373s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.305313s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.161815s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.340475s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.326902s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_unexpected_exception [0.300222s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_unexpected_prepare_error [0.289624s] ... ok {26} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.127845s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.022109s] ... ok {26} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.022808s] ... ok {26} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.139973s] ... ok {26} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.355842s] ... ok {26} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.950612s] ... ok {26} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.599780s] ... ok {26} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.298405s] ... ok {26} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.261339s] ... ok {26} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.074626s] ... ok {26} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.035712s] ... ok {26} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.022450s] ... ok {26} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.040955s] ... ok {26} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.042022s] ... ok {26} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.017001s] ... ok {26} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.121897s] ... ok {26} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.176760s] ... ok {26} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.088248s] ... ok {26} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.095879s] ... ok {26} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.013595s] ... ok {26} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_no_version [0.039809s] ... ok {26} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.055124s] ... ok {26} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.027710s] ... ok {26} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.059191s] ... ok {26} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.075045s] ... ok {26} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.088260s] ... ok {26} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.046157s] ... ok {26} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.031272s] ... ok {26} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_password [0.017755s] ... ok {26} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_ok [0.071506s] ... ok {26} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_fail [0.077735s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host [0.021038s] ... ok {26} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.078852s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.127985s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.084895s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.061245s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.044964s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.034814s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.049625s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.092286s] ... ok {26} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.056223s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.056555s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.022069s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.044654s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.051300s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.054481s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.290161s] ... ok {26} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.056608s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.209524s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.062869s] ... ok {26} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.087164s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_driver_info [0.019898s] ... ok {26} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down_cleaning [0.074368s] ... ok {26} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.101559s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.056298s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.080394s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.111983s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.080722s] ... ok {26} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.009173s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.018914s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.009252s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.017171s] ... ok {26} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.016710s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=d5a4b66d-e295-4924-8af0-33d78d0e3425 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'd5a4b66d-e295-4924-8af0-33d78d0e3425', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/d5a4b66d-e295-4924-8af0-33d78d0e3425', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d5a4b66d-e295-4924-8af0-33d78d0e3425', 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'}}} {22} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.100098s] ... ok {26} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled_disabled [0.016023s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.016721s] ... ok {26} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.013263s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.017644s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.014384s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.014217s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.021741s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_advanced_net_fields [0.016177s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_force_set_boot_device_ok [0.075719s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs_fail [0.015625s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_trait [0.015703s] ... ok {22} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.015719s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_supported_boot_devices [0.052889s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_ok [0.057981s] ... ok {26} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_ok [0.059604s] ... ok {26} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.061090s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.075138s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.096627s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe [0.056828s] ... ok {26} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_deploy [0.017984s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.013974s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.010538s] ... ok {26} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.010590s] ... ok {26} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.058643s] ... ok {26} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.080307s] ... ok {26} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_boot_deploy [0.009929s] ... ok {26} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_socat_driver [0.001688s] ... ok {26} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.024856s] ... ok {26} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.007690s] ... ok {26} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.006913s] ... ok {26} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.006791s] ... ok {26} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.014360s] ... ok {26} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.013093s] ... 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-b9c00d78-4860-4345-9579-5cb720f728cc 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\\\"\"}"} {22} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.065791s] ... 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'}]} {22} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.094498s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': []} {22} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.074901s] ... 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-090c189c-915d-4393-b3f8-4f7687e8a5f6 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-02-15T13:14:35.001119+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_replace_node_uuid [0.199881s] ... 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-ca293e83-15a6-4dab-b27f-6b1340b82c2d 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.\"}"} {22} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.068891s] ... 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/db062e05-87bd-4a90-b695-dfd0907571b4 Openstack-Request-Id: req-0a2290fc-4ddc-4ca5-9dde-793c610ff097 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": "db062e05-87bd-4a90-b695-dfd0907571b4", "links": [{"href": "http://localhost/v1/volume/targets/db062e05-87bd-4a90-b695-dfd0907571b4", "rel": "self"}, {"href": "http://localhost/volume/targets/db062e05-87bd-4a90-b695-dfd0907571b4", "rel": "bookmark"}], "extra": {}, "created_at": "2018-02-15T13:14:35.271399+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/db062e05-87bd-4a90-b695-dfd0907571b4 {} GOT:{u'boot_index': 0, u'uuid': u'db062e05-87bd-4a90-b695-dfd0907571b4', u'links': [{u'href': u'http://localhost/v1/volume/targets/db062e05-87bd-4a90-b695-dfd0907571b4', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/db062e05-87bd-4a90-b695-dfd0907571b4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-02-15T13:14:35.271399+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'}} {22} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.139823s] ... ok {22} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.028585s] ... ok {22} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.046526s] ... ok {22} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.024400s] ... ok {22} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.038266s] ... ok {22} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.019035s] ... ok {22} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.101780s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.108861s] ... ok {22} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.046228s] ... ok {22} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.080719s] ... ok {22} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.117726s] ... ok {22} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.116936s] ... ok {22} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_fails_to_load_extension [0.015936s] ... ok {22} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.421994s] ... ok {22} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.341829s] ... ok {22} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.074882s] ... ok {22} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.134466s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.307025s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.344542s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.348992s] ... ok {22} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_configdrive [1.271559s] ... ok {22} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_node_not_locked [0.252291s] ... ok {22} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.097671s] ... ok {22} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.078943s] ... ok {22} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.122777s] ... ok {22} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.264414s] ... ok {22} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.230894s] ... ok {22} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.034796s] ... ok {22} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.019989s] ... ok {22} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.017789s] ... ok {22} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.017462s] ... ok {22} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.010322s] ... ok {22} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.027729s] ... ok {22} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.016114s] ... ok {22} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.084164s] ... ok {22} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.106807s] ... ok {22} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.015679s] ... ok {22} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.031460s] ... ok {22} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.019407s] ... ok {22} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.027365s] ... ok {22} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.020013s] ... ok {22} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.042191s] ... ok {22} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.060899s] ... ok {22} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.025413s] ... ok {22} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.043869s] ... ok {22} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.009579s] ... ok {22} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_force_reboot [0.130657s] ... ok {22} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device [0.082235s] ... ok {22} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_validate [0.070853s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.022247s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.034927s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.026690s] ... ok {22} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.114009s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.071518s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.081491s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.010069s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.093521s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist [0.161457s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.022787s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_invalid_component [0.064760s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [0.060425s] ... ok {22} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state [0.067881s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.084159s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.026154s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.079897s] ... ok {22} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.113501s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.068786s] ... ok {22} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.066825s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_cleaning [0.068261s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic [0.065698s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_deallocate_server_hardware_from_ironic [0.069165s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_same_server_profile_applied [0.064306s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_supported_boot_devices [0.066503s] ... ok {22} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_with_timeout [0.064365s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.096498s] ... ok {22} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.079290s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.021512s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.020782s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_dev [0.021688s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.008292s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.007932s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.033836s] ... ok {22} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.067570s] ... ok {22} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.017380s] ... ok {22} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.015725s] ... ok {22} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.016690s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.019644s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_missing_port [0.047608s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.056386s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.053442s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [1.056186s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.024178s] ... ok {22} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_fail [0.056622s] ... ok {22} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.026181s] ... ok {22} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue [0.078041s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.016117s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.017698s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.015186s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.012792s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.015689s] ... ok {22} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.012849s] ... ok {22} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device_fail [0.135563s] ... ok {22} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_down [0.119076s] ... ok {22} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_console_interface [0.014949s] ... ok {22} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_supported_boot_devices [0.014332s] ... ok {22} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.019905s] ... ok {22} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.011279s] ... ok {22} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.044469s] ... ok {22} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.017617s] ... ok ====== Totals ====== Ran: 4829 tests in 39.0000 sec. - Passed: 4817 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 444.9876 sec. ============== Worker Balance ============== - Worker 0 (151 tests) => 0:00:13.779014 - Worker 1 (151 tests) => 0:00:14.075778 - Worker 2 (151 tests) => 0:00:16.795564 - Worker 3 (151 tests) => 0:00:14.062003 - Worker 4 (151 tests) => 0:00:12.780155 - Worker 5 (151 tests) => 0:00:14.197355 - Worker 6 (151 tests) => 0:00:13.251331 - Worker 7 (151 tests) => 0:00:12.570498 - Worker 8 (151 tests) => 0:00:17.953570 - Worker 9 (151 tests) => 0:00:15.874859 - Worker 10 (151 tests) => 0:00:12.477485 - Worker 11 (151 tests) => 0:00:13.839574 - Worker 12 (151 tests) => 0:00:14.662202 - Worker 13 (151 tests) => 0:00:16.433720 - Worker 14 (151 tests) => 0:00:16.116005 - Worker 15 (151 tests) => 0:00:15.321963 - Worker 16 (151 tests) => 0:00:13.969663 - Worker 17 (151 tests) => 0:00:10.692076 - Worker 18 (151 tests) => 0:00:11.935143 - Worker 19 (151 tests) => 0:00:12.193676 - Worker 20 (151 tests) => 0:00:14.364938 - Worker 21 (151 tests) => 0:00:16.179258 - Worker 22 (151 tests) => 0:00:16.121475 - Worker 23 (151 tests) => 0:00:13.645549 - Worker 24 (151 tests) => 0:00:14.354178 - Worker 25 (151 tests) => 0:00:13.837988 - Worker 26 (151 tests) => 0:00:13.874482 - Worker 27 (151 tests) => 0:00:16.800554 - Worker 28 (151 tests) => 0:00:12.123061 - Worker 29 (150 tests) => 0:00:12.264719 - Worker 30 (150 tests) => 0:00:13.577882 - Worker 31 (150 tests) => 0:00:13.265665 Slowest Tests: Test id Runtime (s) ------------------------------------------------------------------------------------------------------------------------------ ----------- ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state 4.135 ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states 3.532 ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state 2.140 ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces 1.442 ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_check_rescuewait_timeouts 1.404 ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_configdrive 1.272 ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor 1.197 ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step 1.192 ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe 1.080 ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns 1.056 + exit 0 Processing files: openstack-ironic-common-10.1.0-1.el7.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/lib/python2.7/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.07bPqt + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.0 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share/doc/openstack-ironic-common-10.1.0 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share/doc/openstack-ironic-common-10.1.0 + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share/doc/openstack-ironic-common-10.1.0 + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.r3vb3T + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.0 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share/licenses/openstack-ironic-common-10.1.0 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share/licenses/openstack-ironic-common-10.1.0 + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch/usr/share/licenses/openstack-ironic-common-10.1.0 + exit 0 Provides: config(openstack-ironic-common) = 1:10.1.0-1.el7 openstack-ironic-common = 1:10.1.0-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.0-1.el7.noarch Provides: openstack-ironic-api = 1:10.1.0-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.0-1.el7.noarch Provides: openstack-ironic-conductor = 1:10.1.0-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.0-1.el7.noarch Provides: python-ironic-tests = 1:10.1.0-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.0-1.el7.noarch Wrote: /builddir/build/RPMS/openstack-ironic-common-10.1.0-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-api-10.1.0-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-10.1.0-1.el7.noarch.rpm Wrote: /builddir/build/RPMS/python-ironic-tests-10.1.0-1.el7.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.fwzw9j + umask 022 + cd /builddir/build/BUILD + cd ironic-10.1.0 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-10.1.0-1.el7.noarch + exit 0 Child return code was: 0